Slashdot Mirror


PostgreSQL Inc. Open Sources Replication Solution

Martin Marvinski writes "PostgreSQL Inc, the commercial company providing replication software and support for PostgreSQL, open sourced their eRServer replication product. This makes PostgreSQL one step closer to being able to replace Oracle as the de facto RDBMS standard. More information can be found on PostgreSQL's website."

383 comments

  1. Excellent by Czmyt · · Score: 1

    That will be an excellent and much appreciated addition to this excellent database. FP

    1. Re:Excellent by ShieldW0lf · · Score: 4, Informative

      I've been waiting anxiously for this. Postgres will definately be running my startup now... lack of replication was the only thing holding Postgres back. Wonder how long it will take for this to migrate to debs stable branch...

      --
      -1 Uncomfortable Truth
    2. Re:Excellent by Anonymous Coward · · Score: 0

      > Wonder how long it will take for this to migrate to debs stable branch...

      About seven years.

    3. Re:Excellent by noisehole · · Score: 0

      10 WONDER
      20 GOTO 10

    4. Re:Excellent by ryanvm · · Score: 2, Funny

      Wonder how long it will take for this to migrate to debs stable branch...

      It'll probably get there about two years after KDE 3.1. So, about 2007.

    5. Re:Excellent by Cigarra · · Score: 2, Funny

      Nobody mod up a sane, non-satyrical first post. Cruel world!

      --
      I don't have a sig.
  2. Postgre sucks! by Anonymous Coward · · Score: 0, Funny

    Use MySQL! Who cares if it doesn't support transactions, corrupts at every chance, is not scalable, and a resource hog! It is your duty to use MySQL!

    1. Re:Postgre sucks! by delta407 · · Score: 5, Interesting
      Troll, but I'll bite.

      it doesn't support transactions
      Ever heard of InnoDB? MySQL lets you choose -- on a table-by-table basis -- exactly what parts of your application need to support transactions, foreign keys, etc.
      corrupts at every chance
      Odd, neither Slashdot nor Yahoo! Finance seem to be having corruption problems...
      is not scalable
      Adding extra memory, CPUs, or slave servers obviously has no impact on server performance. (Yes, replication is... clumsy, at best, but depending on the application, it can work quite well.)
      a resource hog
      Compared to Postgres?
    2. Re:Postgre sucks! by Anonymous Coward · · Score: 0

      It's amazing what you fanboys will say, regardless of whether it's true or not.

    3. Re:Postgre sucks! by DAldredge · · Score: 4, Informative

      InnoDB Hot Backup is a tool which allows you to backup a running InnoDB database without setting any locks or disturbing normal database processing. You get a consistent copy of your database, as if the copy were taken at a precise point in time. InnoDB Hot Backup is also the ideal method of setting up new slaves if you use the MySQL replication on InnoDB tables.

      For how many server computers you want to order an evaluation copy, or 1-year licenses (390 euros or 450 US dollars each), or perpetual licenses (990 euros or 1150 US dollars each); discounts are available for large volume orders.

      This is from http://www.innodb.com/hotbackup.html

    4. Re:Postgre sucks! by Anonymous Coward · · Score: 2, Informative

      I had a bit of a giggle when I read the parent but seriously guys (those replying to him/her). and this will seem as a troll but I don't care.

      Have you actually used MySQL and tried to break it? The damn thing is hopeless in comparison to PostgreSQL, Oracle and even SQL Server:

      InnoDB transactions don't include the DDL so your create table/index etc... WON'T roll back when you cancel a transaction - so really mysql transactions are for inserts, updates and deletes ONLY. Don't give me this crap about innodb being the be all and end all..

      it will not perform validation checking on dates correctly, inserting 29/02/2003 works! It allows you to insert 00/00/0000 when that doesn't even EXIST!

      it doesn't obey the datatypes you tell it to use and will happily insert 100.00 into a numeric(4,2) field but no -100.. why? cause the programmers use an extra bit for signing and instead you'll wind up with -99.99. This is correct (although your data is fucked) but whats with 100 being legal?? It will even allow you to insert a CHARACTER into a numeric field WITHOUT complaints - I want my database to tell me when something is wrong and enforce my business rules.

      You should always try and build as much of your rules into the db app server - thats what it is - an application server, don't put all your logic in your client app. I'm not surprised that Slashdot is fine and all - all the logic is probably in the perl.

      I'm sorry for the trollish tone but I could NEVER recommend someone use MySQL. Now MaxDB might be different and I'm all for it if it is but lets just hope it doesn't inherit to much from the MySQL codebase...

    5. Re:Postgre sucks! by cca93014 · · Score: 1

      troll troll troll.

      Er, well, I have mysql installed on my windows dev machine and it's scurrently consuming 2.848 MB. I suppose that doesn't fit into 640k, but there you go.

      Troll.

    6. Re:Postgre sucks! by Anonymous Coward · · Score: 2, Informative

      pg_dump -f mydb.dump -U mydbuser mydb

      Allows to backup a running PostgreSQL database.
      No locks.
      Does not disturb normal database processing.
      Consistent copy.
      Free.

    7. Re:Postgre sucks! by wavecoder · · Score: 2, Interesting

      You're kidding, right? I'll skip the redundant comments about transactions, etc, but I do have to comment on corruption and resource hogging. I have built numerous websites and client-server apps with MySQL. Despite the fact that some of these apps frequently add tens of thousands of records per minute, I have never experienced corruption (compared to SQL Server, which does corrupt at every chance) and have found that it uses far less resources than other RDBMS, to deliver results at least as fast.

      <troll>Maybe you're just not building and optimizing your databases correctly, and PostGreSQL is making you look good...</troll>

      -Ed

    8. Re:Postgre sucks! by Anonymous Coward · · Score: 1, Funny

      It's a damn good thing you posted anonymously. How DARE you say a SINGLE BAD word about MySQL!! How dare you. It is a proven scientific fact that things like triggers, subselects, stored procedures, etc. are only needed by TERRORISTS. Do you hear me? Terrorists. If you had posted using your real name, God help you. You had better switch back to MySQL, use it, and stop asking so many damn questions. DO YOU UNDERSTAND

    9. Re:Postgre sucks! by Zebra_X · · Score: 1

      WHO MODDED THIS UP!?? TROLL!

    10. Re:Postgre sucks! by slamb · · Score: 1
      InnoDB transactions don't include the DDL so your create table/index etc... WON'T roll back when you cancel a transaction - so really mysql transactions are for inserts, updates and deletes ONLY. Don't give me this crap about innodb being the be all and end all..

      That's also true for Oracle. DDL statements just aren't transactional, and that's not a problem. (Some might be in PostgreSQL...I seem to recall something weird about that. But I don't consider it an advantage.) If you are care about DDL statements in transactions, you're doing something seriously wrong. It's something that you do manually (not from an application!). You don't have simultaneous DDL statements going on. And you should be able to figure out the opposite statement yourself.

      As for the rest, that's pretty bad. I design my databases with data types for a reason, so when the database doesn't enforce it...ugh. And inserting anything other than what I say (-99.99 instead of -100) is no good, even if I told it to do something impossible (it should throw an error instead).

      This from a proud user of PostgreSQL (and Oracle at work).

    11. Re:Postgre sucks! by AJWM · · Score: 1

      You should always try and build as much of your rules into the db app server - thats what it is - an application server, don't put all your logic in your client app.

      Yeah, the DB vendors love for you to do this because it locks you in to their DBMS -- portability of stored procedure (etc) code not being one of the database world's high points.

      That said, you ought to be able to rely on the DBMS to enforce at least some constraints, and you should be taking advantage of at least the minimal subset of same that all real DB servers support. (And if you're building an enterprise-specific application where portability is much less of an issue than performance, go ahead and embed the code in the DB.)

      --
      -- Alastair
    12. Re:Postgre sucks! by Anonymous Coward · · Score: 0

      This is the OSS world, not MS world. You are allowed to use whatever works best.

    13. Re:Postgre sucks! by Bitsy+Boffin · · Score: 0
      it will not perform validation checking on dates correctly, inserting 29/02/2003 works! It allows you to insert 00/00/0000 when that doesn't even EXIST!

      This makes no difference if you write your application correctly and check your data going in for VALIDITY. It shouldn't be the DB server's job to enforce this (a DB server CAN check integrity, which dates could (grey area) fall into but should have no part in validity), if you say 2003-2-29 is a date, well the DB server checks integrity ("Looks like a date to me"), but wether the dte is valid or not it leaves to the application (perhaps in your application 2003-2-29 is exactly what you want).

      insert 100.00 into a numeric(4,2) field but no -100

      Again, your application should be checking validity of the data you are feeding to the db server, if you feed it 100 then don't complain if the server accepts it, garbage in - garbage out y'know.

      db app server - thats what it is - an application server,

      OMFG ! No, it's not, it's an RDBMS - Relational Database Management Server, nothing to do with applications, applications might USE the RDBMS, but the RDBMS does not serve applications to you, it's not a place to build or run applications.

      Your logic goes in your application, the database shouldn't know that such and such is not a valid doohicky because the wotsit is set to foo.

      What if you want to change RDBMS, putting logic in the DB server is totally unportable, you have to rewrite all that crap.

      The only stuff that goes in your RDBMS is stuff for MANAGING DATA, that is storing, retrieving, and deleteing the stuff, no checks apart from basic integrity, and that's not the same as validity, validity checks belong in your application.

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
    14. Re:Postgre sucks! by fredrik70 · · Score: 1
      it will not perform validation checking on dates correctly, inserting 29/02/2003 works! It allows you to insert 00/00/0000 when that doesn't even EXIST!


      from the mySQL docs: "Note that MySQL allows you to store certain 'not strictly' legal date values, for example 1999-11-31. The reason for this is that we think it's the responsibility of the application to handle date checking, not the SQL servers. To make the date checking 'fast', MySQL only checks that the month is in the range of 0-12 and the day is in the range of 0-31."


      The 0/0/0000 is the same as a NULL, IIRC

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    15. Re:Postgre sucks! by MattRog · · Score: 2, Insightful

      Before we start, remember: a database is a collection of data. A DBMS is the system used to store, retrieve, maintain, etc. the data IN the database. A Relational Database Management System is a DBMS which relies on predicate logic, logical data independence, and set theory to maintain the data in the database. Codd invented this in (I think) 1969/70.

      This makes no difference if you write your application correctly and check your data going in for VALIDITY. It shouldn't be the DB server's job to enforce this...

      No. No, no, no, No, NO, NO. This backwards, uneducated thinking is why DB-driven applications are increasingly becoming more bloated, buggy, and just plain wrong.

      The Relational Database Management System (RDBMS) is NOT just a place to stick data in. Codd, fed up with basically inventing a DBMS every time an application was written and being forced to implement checking and other things in the application, penned his ideas on Relational Theory.

      The RDBMS, through application of predicate logic, guarantees correctness (consistency) of your data. It's that simple.

      If you don't allow the RDBMS to guarantee your data is correct, then you are a fool, ignorant, or both.

      the database shouldn't know that such and such is not a valid doohicky because the wotsit is set to foo.

      *jumping up and down mad*

      (ignoring the misuse of 'database') YES IT SHOULD! That's the WHOLE POINT of a DBMS! Certainly a good portion of logic should live in your application. But 'business rules', constraints, anything that deals with your data etc. BELONG in the RDBMS, because how else are you to ensure that the data you pull out of it is correct? You can't.

      --

      Thanks,
      --
      Matt
    16. Re:Postgre sucks! by wurp · · Score: 1
      because how else are you to ensure that the data you pull out of it is correct?
      Umm, because you make sure the app only puts valid data in the db, and only access the db through the app?

      If the app attempts to put bad data in the db, you're in trouble anyway. No amount of db-logic is going to solve this.

      I suspect this boils down to dbas vs software developers, and the right answer is somewhere in the middle. But I don't see a good reason to put data integrity logic (beyond transactions) in the database and I do see a good reason (db platform independence) to put it in the application. This is assuming you have only one application that accesses the db, as is often the case.

    17. Re:Postgre sucks! by kpharmer · · Score: 1

      > I don't see a good reason to put data integrity
      > logic (beyond transactions) in the database and I
      > do see a good reason (db platform independence) to
      > put it in the application.

      Been doing this for over half my life now - relational databases have been around since 1980, and haven't really changed that much. Meanwhle I've seen a wide variety of languages come and go. The reality is that the application is far more volatile than the database.

      So, you're far more likely to want to add a .NET application to your oracle database currently front-ended with Java than you are to swap the oracle database to sql server. And when you add that second application - you'll almost guarantee inconsistent data.

      Stored Procedures aren't very portable, but then again simple check constraints and simple procedures (consisting mostly of sql) are. Easily built, easily ported, and allow n-number of applications front-ends.

      That's the way to go if you want to see your survive technology changes.

    18. Re:Postgre sucks! by ttfkam · · Score: 1

      Ever heard of InnoDB? MySQL lets you choose -- on a table-by-table basis -- exactly what parts of your application need to support transactions, foreign keys, etc.

      Want to do hot backups? Then all of your tables must be transaction-aware InnoDB tables (and you have to pay for the priviledge of course). Ever perform multi-row inserts? All of the affected tables should be transaction-aware InnoDB tables. If any of your data relates to each other (*cough* relational database *cough*), you need foreign keys. Here come those InnoDB tables again. Got multiple clients modifying the data at the same time? InnoDB again.

      So basically what you are saying is that InnoDB tables should be used unless the table in question has no data interaction whatsoever with any other table, should only ever have one-row-at-a-time inserts, single-user access, etc. So...ummm...why would anyone use non-InnoDB tables?

      Odd, neither Slashdot nor Yahoo! Finance seem to be having corruption problems...

      I don't browse Yahoo Finance so I can't comment on that site or the scope of MySQL's use. As far as Slashdot...ummmm... Are you kidding!?! You are using Slashdot as a metric for the reliability of MySQL? Slashdot is your example of 24/7 uptime and consistency? The site that's regularly down and relies on static renderings of their site to avoid advertising the outages: this is one of your great examples?

      I must say that I greatly enjoyed InnoDB's benchmark page. The comparison in E-Week is conveniently listed next to the PostgreSQL comparison giving the impression that E-Week also prefers MySQL over PostgreSQL even though PostgreSQL wasn't in the review. Nice marketing indeed. That aside, I also like the PostgreSQL comparison section: only two years old after all. Neither package has changed substantially in two years have they? <sarcasm>And sure, I could be persuaded that the one test query is indicative of all normal queries one would encounter in normal database operation.</sarcasm> Could it be that perhaps a certain group went hunting for items that InnoDB was markedly better at and avoided the items in which it was weaker. Naw. Couldn't be.

      And this part I love the best: not only was the hardware the same, but the tuning techniques were identical. 24MB shared memory buffers. That's it on a 512MB test server with two tables of 100,000 rows. Hunh? No, that doesn't sound like they tuned MySQL overall to the detriment of PostgreSQL. How well do you think MySQL+InnoDB would fare if the app tunings were done with PostgreSQL in mind and just mapped the same settings to MySQL+InnoDB?

      Note: The shared buffer setting has little to do with the overall memory usage in a working system (and even less in this benchmark). Why? After shared buffers are filled up, the OS will start to aggressively cache filesystem access (like for example, the ever-accessed database tables). MySQL is written with this situation in mind. PostgreSQL depends more heavily on the shared buffers setting (among others). If both DBs are using all available memory -- which is likely when querying a couple of 100K-row tables -- which database do you think will perform much better with the artificial constraint of a 24MB shared buffer?

      And don't start with the "harder to configure" crap. This wasn't an out-of-the-box install of MySQL+InnoDB here. Someone specially configured the 24MB buffer. It took as much effort as it would to properly configure PostgreSQL. There is a wealth of information about tuning PostgreSQL for hardware, for good database organization techniques that work for more than just PostgreSQL, and of course the main PostgreSQL technical document site. (All of this was found in less than two minutes

      --

      - I don't need to go outside, my CRT tan'll do me just fine.
    19. Re:Postgre sucks! by DAldredge · · Score: 1

      How is my post a troll? The information is taken from their website.

    20. Re:Postgre sucks! by Anonymous Coward · · Score: 0

      Just had to fix a corrupted MySQL table this week. Every time the blankety blank thing was accessed, the mysqld processes would hang. Blasted table didn't have an index so I couldn't use myisamchk, CHECK TABLE or OPTIMIZE TABLE. Couldn't drop the table either (mysqld hung again), had to extract other tables to flat files, blow away the DB, rebuild the DB, reload the data and it is running happy again. Bear of a problem to track down and fix. Online mysql.com documentation didn't suggest any other fixes I could see.

    21. Re:Postgre sucks! by wurp · · Score: 1

      Good point! Makes me feel better about the way I'm leaning - for the particular applications I'm working on (see sig), I know the app will outlive the db, so I'm safe.

      For the vast majority of business applications, I think you're 100% correct.

  3. The defacto standard by jon323456 · · Score: 5, Insightful

    There is an enormous distance between "viable alternative" and "defacto standard" and the path between them is not paved with features.

    1. Re:The defacto standard by timbloid · · Score: 5, Insightful

      Very true...

      I have had experience with both Oracle and Postgres, and I would never go back to Oracle...

      Maybe I was not using all of it's "Enterprise features", but I find Postgres to be fast, and reliable... Plus I am not constantly bombarded with Oracle spam, like I was when I registered for an oracle devnet account...

    2. Re:The defacto standard by sporty · · Score: 4, Informative

      Yeah, but there are irritants to postgres as well.

      No source code packages. You can't create a library, like you would in oracle.

      When you have an sql error, it tells you the char it occured at, and not much more. Quite annoying if oyu miss a , in a multiline query and have to paste it back.

      You can't network two instances so to speak. You can't say.. "select * from slashdot.messages, freshmeat.list where..." Bloody useful for running remote queries over a dedicated line, w/o dump-replicationg stuff.

      Not easy to see, verbatim, what queries are running. Well, nothing i've seen so far. :\

      But you know what, I use it, and I like it. 'cuz it doesn't require a java installer and it is simple. But it doesn't hold a light to oracle in some ways :)

      --

      -
      ping -f 255.255.255.255 # if only

    3. Re:The defacto standard by Anonymous Coward · · Score: 0

      You can do this since PostgreSQL 7.3, and some care when creating databases/schemas.

    4. Re:The defacto standard by Sir+Runcible+Spoon · · Score: 2, Insightful

      And there is no Java Stored Procedures/SQLJ yet.

      Not important to some, but it is important to those of us that support the same product across many RDBMS.

    5. Re:The defacto standard by mrroach · · Score: 5, Informative

      Not easy to see, verbatim, what queries are running. Well, nothing i've seen so far. :\

      Try adding
      stats_command_string = true to your postgresql.conf

      then, "select * from pg_stat_activity" for a list of users pids and queries

      -Mark

    6. Re:The defacto standard by mrroach · · Score: 1

      Oh, I should also point out, that selecting across databases/servers is listed in their urgent features in the postgresql todo list:

      http://developer.postgresql.org/todo.php

    7. Re:The defacto standard by LDoggg_ · · Score: 1

      I use it, and I like it. 'cuz it doesn't require a java installer

      What does that have to do with anything?

      Oracle installations are generally well.. Huge. There are tons of configuration options to choose from. The wanted a nice cross platform GUI to help simplify the install process across all their applications (the database, business apps, app servers) Java was a good choice.
      Their installer comes with a JRE so its not like you even have to install Java before hand.

      One more thing, if you'd rather not have a java GUI for the install, the installer can fall back to character mode.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    8. Re:The defacto standard by mangu · · Score: 1

      Have you actually tried that JRE which comes with their installer? Version 8.1.7 crashes on a pentium4, works on a pentium III. So much for "cross-platform"...

    9. Re:The defacto standard by johnnyb · · Score: 2, Informative

      "No source code packages. You can't create a library, like you would in oracle."

      I'm not sure what you mean here. You can certainly create .so files to be included into Postgres for calling from SQL. You can build Oracle from source, and there is the libpq library for accessing it. What is missing?

      The main feature I see missing from Postgres is tablespaces.

    10. Re:The defacto standard by Anonymous Coward · · Score: 0

      That's called a feature.

    11. Re:The defacto standard by sporty · · Score: 1

      There is no char mode install atm. Right now, i had to install X and all this crap, to install the client. Then remove X and what not.

      I'd rather not have to go through THAT much trouble. postgresql.conf is short and sweet.

      --

      -
      ping -f 255.255.255.255 # if only

    12. Re:The defacto standard by quantum+bit · · Score: 1

      I'm not sure what you mean here. You can certainly create .so files to be included into Postgres for calling from SQL. You can build Oracle from source, and there is the libpq library for accessing it. What is missing?

      My guess is the poster was talking about the fact that in order to compile libpq, you pretty much have to compile the whole database server too. You can still only INSTALL libpq if that's all you want (FreeBSD even now has a handy postgresql-client port to do this), but you still have to waste time downloading and compiling everything.

    13. Re:The defacto standard by Anonymous Coward · · Score: 1, Informative
      When you have an sql error, it tells you the char it occured at, and not much more. Quite annoying if oyu miss a , in a multiline query and have to paste it back.

      No need to paste it back, if you're using psql. Just type \e right after you get the error and you're in $EDITOR looking at the query as entered. Make your tweaks to it, :wq, and it runs again automatically.

    14. Re:The defacto standard by Trifthen · · Score: 3, Insightful

      No shit, not that it could even compare in features... The day Postgres replaces Oracle as the defacto standard, I'll start looking at the temperature in hell. I've used both, administered both, and I'm sorry but Postgres comes nowhere near even Oracle 7.3, never mind 8, 8i or 9i.

      One thing I like to point out is that if you have high turnover data, not only do you need frequent vacuums to get good performance, but you also have to *reindex your database* because vacuum doesn't reclaim freed index space. This means if you don't reindex, you could possibly run out of *disk space*. The postgres developers like to reference their laudable MVCC Multi Version Concurrency Control system, but that very row reuse is the cause of the problem in the first place.

      I mean, I like Postgres and all, but until they get rid of reindex and vacuum and add a whole lot of extra functionality, there's no way in hell it will replace Oracle.

      --
      Read: Rabbit Rue - Free serial nove
    15. Re:The defacto standard by sporty · · Score: 1

      Ug, i misspoke. I mean like packages for functions. So i can create say, a user package that does all manips on users in pgsql/psql.

      --

      -
      ping -f 255.255.255.255 # if only

    16. Re:The defacto standard by Anonymous Coward · · Score: 0

      there is a pljava for java based stored procedures, not sure if it does all you want, but it's open source so your free to add on

    17. Re:The defacto standard by Xiamin · · Score: 1

      This is the sort of thing remote X excels at. Surely you don't drag over a monitor and keyboard when you want to install on a headless server.

    18. Re:The defacto standard by LDoggg_ · · Score: 1

      They released the 8.1.7 discs before the pentium 4 came out. There has been a fix out for some time now.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    19. Re:The defacto standard by Desert+Raven · · Score: 1

      I've done dozens of Oracle installs. In about 1 of 8 or so, the Java installer causes trouble, and in 25% of thoses cases, won't run at all.

      The Java installer is the worst piece of crap they ever came up with.

    20. Re:The defacto standard by The+AtomicPunk · · Score: 1

      Isn't Oracle dumping SQL/J anyway?

    21. Re:The defacto standard by The+AtomicPunk · · Score: 3, Interesting

      Wow, so I can use a script to vacuum and analyze a few times a day, and maybe, if I really want to, use a script to reindex things every few months.

      OR, I can hire an Oracle DBA for $100/hr to slave away maintaining Oracle.

      Woot! What a choice. That's it, I'm going back to Oracle. I really miss the contants bugs and patches and the obscene support costs just to call an 800 number and be told "yes, that's a bug, you'll have to upgrade/patch/sacrifice a goat".

      I long for that piece of crap SqlPlus, I can't stand using a SIMPLE explain plan, being able to rename columns, JDBC drivers that work, installations that take 3 minutes on a bad day.

      I just don't get that with Postgresql, not matter how hard I try to fuck it up. :)

      Yeah, Oracle has some features that Postgres doesn't have, but after 8 years of using Oracle (since 7.1.4 or so through 8.1.7.4 currently), I don't really miss anything except PERHAPS the ability to allocate my own datafiles to distribute I/O.

      However, I can't come up with any real reason for that - machines have gotten so fast now, I see vastly better performance on my new dual Xeon 0+1 Linux Postgres boxes than I do on my EMC-backed E6500 Oracle boxes.

      I also miss dealing with Oracle sales - people that make used car salesmen seem honest, with obfuscated licensing practices that make Microsoft's BSA invasions and SCO seem reasonable.

      I know plenty of crusty Oracle people that swear "dag-nabbits' and 'gosh darnits' and spit on the floor when you mention something like Postgresql. I guess I'm just not old enough to be stuck in such a rut as to not give something else a spin.

      I did, and I'll never go back.

    22. Re:The defacto standard by pHDNgell · · Score: 1, Informative

      No source code packages. You can't create a library, like you would in oracle.

      I'm not sure what this means. You can create everything from basic queries to languages that are used to implement stored procedures and ship them with your product.

      When you have an sql error, it tells you the char it occured at, and not much more. Quite annoying if oyu miss a , in a multiline query and have to paste it back.

      If you find this to be inappropriate, perhaps you should file a bug or offer a better error message handler. The source code is available, and they do amazing things with it.

      You can't network two instances so to speak. You can't say.. "select * from slashdot.messages, freshmeat.list where..." Bloody useful for running remote queries over a dedicated line, w/o dump-replicationg stuff.

      That sounds like dblink, which is included in the distribution (contrib).

      Not easy to see, verbatim, what queries are running.

      Check out all of the pg_stat views. In particular (slightly modified to avoid lameness filter):

      cms_log=# select usename, current_query from pg_stat_activity;
      usename | current_query

      dustin | <IDLE>
      cms13 | select count(*) from gateway_log;
      cms37 | <IDLE>

      --
      -- The world is watching America, and America is watching TV.
    23. Re:The defacto standard by pHDNgell · · Score: 1

      Sure there is:

      http://pljava.sourceforge.net/

      Either way, it's easy to implement that kind of thing. Everyone's favorite language can be used to write stored procedures.

      --
      -- The world is watching America, and America is watching TV.
    24. Re:The defacto standard by rtaylor · · Score: 4, Informative

      I've got good news... PostgreSQL 7.4 beta 2 will reclaim index space and has a vacuum daemon in /contrib (preparation for a built in daemon).

      Oracle runs vacuum as well -- it just has a different name. It's what the undo / redo logs are for, to allow MVCC while maintaining an overwriting storage manager.

      --
      Rod Taylor
    25. Re:The defacto standard by Trifthen · · Score: 1

      See, now that's good news. Thank you very much. I actually contributed the current reindex script that's included with postgresql 7.2.3 and above, so I know how annoying this is. The guy above says you only have to reindex every few months, but he's wrong; our turnover was so high, we had to do it every day.

      I'm all for maintanence scripts, but this is something central to the database itself. The daemon is a great idea, and I'd say a much bigger step forward than even the replication.

      I'll wait and see, but this is good news.

      --
      Read: Rabbit Rue - Free serial nove
    26. Re:The defacto standard by penguin7of9 · · Score: 1
      Right now, i had to install X and all this crap, to install the client. Then remove X and what not.

      Ummm--it's X11. You don't even have to be near the machine:
      my laptop$ ssh -X root@oracle-server
      Password:
      oracle server# ./graphical-installer
      Geez, Windows refugees really shouldn't be let near UNIX machines without some serious re-education.

    27. Re:The defacto standard by Anonymous Coward · · Score: 0
      Just type \e right after you get the error and you're in $EDITOR looking at the query as entered. Make your tweaks to it, :wq, and it runs again automatically.

      Your vi is open...

    28. Re:The defacto standard by the+uNF+cola · · Score: 1

      Wow, what a prejiduced look at things. Have you thought that maybe, just maybe, the poster didn't have any live X servers around? Oh that's right. All self righteous linux zealots have X running before they even have it installed on the HD making things a happy land, right?

      moron.

      --

      --
      "I'm not bright. Big words confuse me. But Wanda loves me and that should be enough for you." - Cosmo

    29. Re:The defacto standard by ChannelX · · Score: 1

      The days of having to "slave away" over Oracle are long gone. 9i has so many things automated now it is pretty hands off (or at least can be). As to your complaint about the support line I have no clue what you're referring to. I have not had a bad experience yet with Oracle DB tech support and I've been a DBA for several years. I don't know how they used to be but in the 4 years I've been using Oracle their DB tech support is the finest I've ever been involved with bar none.

      I agree SQL*Plus is a POS. Thats why I use DBArtisan ;) Or if youre on Linux TOra is free.

      Oracle licensing is pretty straightfoward now. Look on their website.

      --
      My blog: http://jkratz.dyndns.org/~jason/blog/
    30. Re:The defacto standard by Cyberdyne · · Score: 1
      Wow, what a prejiduced look at things. Have you thought that maybe, just maybe, the poster didn't have any live X servers around? Oh that's right. All self righteous linux zealots have X running before they even have it installed on the HD making things a happy land, right?

      WiredX/WeirdX. All you need's a Java-capable web browser, and WWW access (or the ability to download the app and run it locally). Or get VNC - trivial download, runs on almost anything. You only have a real problem if you have no access to any machine with a GUI - which is probably rare enough Oracle reckon they don't need to care about it.

    31. Re:The defacto standard by the+uNF+cola · · Score: 1

      It's still extra software you need to install just for a DB. Would it be normal to expect apache or gcc to work via gui? Doubtful, especially in the unix world.

      --

      --
      "I'm not bright. Big words confuse me. But Wanda loves me and that should be enough for you." - Cosmo

    32. Re:The defacto standard by Cyberdyne · · Score: 1
      It's still extra software you need to install just for a DB. Would it be normal to expect apache or gcc to work via gui? Doubtful, especially in the unix world.

      Unless you're talking about the need for a web browser, you don't need to install anything extra - just go to the right URL. As for Apache and gcc: Apache has a gui (indeed, that's how the status monitoring works: via web browser!) - and gcc's commercial rivals do too (MS Visual Studio, IBM's suite, Sun's). Considering Oracle's commercial success, if you're trying to argue they are wrong to do something, "the free stuff doesn't do it that way" isn't a very effective argument - especially when one of the most common complaints about OSS products is the primitive UI...

    33. Re:The defacto standard by sporty · · Score: 1

      'cause we all know binary files and gui interfaces are the way to go, said the windows registry lover :)

      --

      -
      ping -f 255.255.255.255 # if only

  4. Good Thing(tm) by mr_stark · · Score: 4, Interesting

    While this is a good thing, pseduo replication is possible at the application layer. Think using PHP to squirt a table in one DB into anther one.

    Now that Postgress can replicate at DB level other, more interesting things are possible. You can use replication for both failover and performance clustering.

    --
    I can't think of anything witty right now
    1. Re:Good Thing(tm) by timbloid · · Score: 1

      You can keep your spam blocklist running now ;)

    2. Re:Good Thing(tm) by msgmonkey · · Score: 5, Insightful

      Implementing replication at the application layer is about as much fun as implementing table locking at that layer.

    3. Re:Good Thing(tm) by TedCheshireAcad · · Score: 1

      Think using PHP to squirt a table in one DB into anther one.

      Oh man, that is sooooo cheating.

    4. Re:Good Thing(tm) by TechnoVooDooDaddy · · Score: 5, Informative

      clearly the poster does not understand the intricacies of replication in a real-time environment.

      you can not pull the data out of table and stuff it into another table under even a reasonable workload.

      but i understand this is slashdot and technical relevance need not necessarily apply.

    5. Re:Good Thing(tm) by bigjocker · · Score: 2, Informative

      In most cases application level replication does not work. When you replicate a DB you need an exact copy, not only the data or table structures, but stored procedures, functions, foreign keys, triggers, synonyms, etc.

      In my day job we use Oracle because

      1.- Management is using the Powered by Oracle (or something like that) to sell the products to our clients
      2.- Replication

      But in my freelance company we use PostgreSQL exclusively and have experienced the burden of not having a reliable replication software. This is Good News for us small shops.

      --
      Life isn't like a box of chocolates. It's more like a jar of jalapenos. What you do today, might burn your ass tomorrow.
    6. Re:Good Thing(tm) by Anonymous Coward · · Score: 0

      Another alternative is replication at the driver layer. Check out C-JDBC if you dont know it yet.

    7. Re:Good Thing(tm) by Kashif+Shaikh · · Score: 1

      What is even more interesting is distributed transactions, where transactions are commited within a cluster and that new data can be seen immediately.

    8. Re:Good Thing(tm) by mr_stark · · Score: 1

      Heh, actually it was quite fun. Take a look here for a quick and dirty script in ASP it works great for synching SQL server to an Access archive.

      And yes, I know I can use DTS ;)

      --
      I can't think of anything witty right now
    9. Re:Good Thing(tm) by mr_stark · · Score: 1

      I think you don't understand 'replication in a real time environment'. Go back and re-read my post. I said that pseudo-replication was possible at application layer.

      Replication and Synching are different things.

      Replication = backup/archive
      Synchronisation = Multiple live DBs with mirrored data

      you can not pull the data out of table and stuff it into another table under even a reasonable workload.

      You don't need to pull it out of a table. If your running synch at the DB layer all your master needs to do is mirror the SQL commands to the slave DBs.

      --
      I can't think of anything witty right now
  5. mySQL gets more publicity by Anonymous Coward · · Score: 5, Interesting

    Check monster.com. More companies look for people with mySQL experiences. Check the book stores. You will see more books about mySQL. Even though PostgreSQL has more features and is more promising and powerful, mySQL gets more publicity. This means that mySQL will be the open source database that will replace most commercial databases. It's sad but true.

    1. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      I guess I'm better off pushing for mySQL than for PostgreSQL at my work. I don't want people to tell me in three years why I used an unpopular open source database. mySQL is simply more popular and its popularity is growing faster.

    2. Re:mySQL gets more publicity by timbloid · · Score: 1

      I heard that mySql starts having issues when you reach large sized tables... (10M rows+)

      Not sure if that's true or not...just what I heard...

    3. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      Why this is so sad? MySQL has it's own strenghts and that's why it's more popular.

      This is like Linux vs *BSD issue.

    4. Re:mySQL gets more publicity by Sircus · · Score: 2, Informative

      mysql> select count(*) from histticks;
      +----------+
      | count(*) |
      +----------+
      | 80081227 |
      +----------+

      No, it's not true. (This is just a quick example I pulled out, we have larger tables).

      --
      PenguiNet: the (shareware) Windows SSH client
    5. Re:mySQL gets more publicity by Manic+Ken · · Score: 0, Troll

      Ahh....Monsters statistics also have more jobs for M$ software, so therefore it must be the future!???

      There is naught, nor ought there be nothing so exalted on the face of God's grey earth as that prince of databases....PostgreSQL!! (and Mimer).

    6. Re:mySQL gets more publicity by timbloid · · Score: 1

      Cool :-) And does it now have row based locking? (I need that for my EJB stuff)...

      I don't think it used to ... but I have to admit that was ages ago... :-(

      Maybe it's time I started looking at mySql more closely

    7. Re:mySQL gets more publicity by calethix · · Score: 2, Insightful

      "Even though PostgreSQL has more features and is more promising and powerful, mySQL gets more publicity. This means that mySQL will be the open source database that will replace most commercial databases."

      Um, no it doesn't. MySQL's popularity has absolutely nothing to do with it's ability to replace most commercial databases. Even if MySQL is the only open source option, if it doesn't have the features that companies need then they won't switch.

    8. Re:mySQL gets more publicity by noselasd · · Score: 1

      Bullshit. Having a table with about 70M rows now, it works fine. (tables need to be created with raid type though, so they are split in multiple files)

    9. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      True. Its the hype/big words vs the reliable/already works.

    10. Re:mySQL gets more publicity by CausticWindow · · Score: 2, Interesting

      I started fiddling with mysql, but moved on to postgresql when my job required it. Mysql is ok for most applications, but I must say that postgre flogs mysql featurewise.

      The one thing that mysql excells in, is their greit documentation with very useful comments. I guess that makes learning mysql very easy for beginners, and is a good reason to keep using it, if you compare it to the online postgre docs.

      There are some good postgre books though..

      --
      How small a thought it takes to fill a whole life
    11. Re:mySQL gets more publicity by Sircus · · Score: 3, Informative

      From the MySQL docs:

      Version 4.0 of the MySQL server includes many enhancements and new features:

      * The InnoDB table type is now included in the standard binaries, adding transactions, row-level locking, and foreign keys. See section 7.5 InnoDB Tables.

      --
      PenguiNet: the (shareware) Windows SSH client
    12. Re:mySQL gets more publicity by AVee · · Score: 1, Troll

      The difference isn't in the publicity. mySql is the dumber database and therefore used by the people that don't understand things like transactions etc. Just like their are still people developing applications on top of access databases and most of them are feeling very smart and think they understand databases...

    13. Re:mySQL gets more publicity by Psyx · · Score: 3, Informative

      My largest table works fine at way over

      4 billion rows.

      And yes, I've got other tables with more than 1 billion rows.

    14. Re:mySQL gets more publicity by i_really_dont_care · · Score: 1

      This means that mySQL will be the open source database that will replace most commercial databases.

      And I tell you why: Because it supports Microsoft Windows perfectly. And, yes I know that PostgreSql theoretically works under Cygwin...

    15. Re:mySQL gets more publicity by axxackall · · Score: 1
      MySQL's popularity has absolutely nothing to do with it's ability to replace most commercial databases.

      And vice versa: MySQL's ability to replace most commercial databases has absolutely nothing to do with it's popularity. In other words: you can put very smart and well designed features to PostgreSQL, but MySQL has more populariy and more of a critical mass. So, in new open source projects people almost always prefer MySQL, while in commercial organizations technology decision makers always (again almost) consider MySQL for any db server where they don't afraid to save some money on db licenses.

      Unless PostgreSQL Inc begin doing something about popularity, all features of PostgreSQL ORDBMS are useless for the most of technology decision makers.

      --

      Less is more !
    16. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      This is hardly surprising. Popularity is a measure of popular appeal, not technical merit.

      Out of programming languages, Java of all languages gets the most publicity, despite being less expressive and featureful than just about any other modern language in existence.

      Similarly Linux vs. *BSD, although in this case the technical differences are mostly pretty small and what is actually better depends on which particular feature you're looking at.

    17. Re:mySQL gets more publicity by platypus · · Score: 1

      I think the next version of Postgres (or already the current one???) will support windows natively. There are already native ports out there, btw, so this is no vapour ware.

    18. Re:mySQL gets more publicity by jallen02 · · Score: 1

      It does work.

      I have used PostgreSQL-CygWin for development on a XP Pro system for quite a while with no real problems...

      Jeremy

    19. Re:mySQL gets more publicity by raffe · · Score: 1


      just like linux and *bsd ...ohh comon!

    20. Re:mySQL gets more publicity by pbaker · · Score: 1

      mysql> select count(*) from segment_poi;
      +----------+
      | count(*) |
      +----------+
      | 95563114 |
      +----------+
      1 row in set (0.00 sec)

    21. Re:mySQL gets more publicity by kill-1 · · Score: 1

      Unfourtunately, not even the next version (7.4) is going to support Windows natively. Maybe Windows support is coming with 7.4.1, maybe we have to wait until 7.5.

    22. Re:mySQL gets more publicity by AJWM · · Score: 1

      Even though PostgreSQL has more features and is more promising and powerful, mySQL gets more publicity.

      That's because "mySQL" is easier to pronounce than "PostgreSQL". Fewer syllables.

      --
      -- Alastair
    23. Re:mySQL gets more publicity by chrisback · · Score: 1

      mySQL definitely has its issues, but issues related to row count haven't surfaced for me.

      mysql> select count(*) from tblLog;
      +-----------+
      | count(*) |
      +-----------+
      | 195336556 |
      +-----------+
      1 row in set (0.00 sec)

    24. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      True. Just like MS vs Linux or MS vs Apple. In all four cases, the superior one was less popular, and the shitty one was more popular. Why the fuck is it always that way?

    25. Re:mySQL gets more publicity by 10bt · · Score: 1
      Check monster.com. More companies look for people with mySQL experiences. Check the book stores. You will see more books about mySQL. Even though PostgreSQL has more features and is more promising and powerful, mySQL gets more publicity. This means that mySQL will be the open source database that will replace most commercial databases. It's sad but true.

      this is a non-issue. if most people are not curious enough to come into contact with postgresql, then more power to 'em (or should i say less power?). there is this saying, "the most interesting things in life are on the periphery." besides, if you know postgresql then picking up mysql will definitely be child's play to you. claim both on your resume -- more power to YOU.

    26. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      mySQL - pronounced "my S Q L" (4)
      PostgreSQL - pronounced "post gres-quill" (3)

    27. Re:mySQL gets more publicity by Bromrrrrr · · Score: 2, Insightful

      I think the popularity of MySQL has A LOT to do with the surge in DB-driven websites and little-shop-of-horror IT shops that want to offer them without any know-how.

      With MySQL they hardly need to. Whatever gripes you might have with MySQL, it does have this: it is a breeze to administer and work with.

      I once heard a fellow programmer say to an intern, in the stern voice of experience: "normalization? I don't even know what it means and I've been working with databases for years, you don't need it!". Not an a attitude I apploud, but one that made MySQL very popular I think.

      MySQL IS the popular database and they're working very hard to catch-up featurewise (I bless them for it). But it has a user base that is not really interested in the 'real' RDBMS features.I can't see why their popularity now means anything in the long run.

      Before any flames apear :-), I have used both extensively and love both for different reasons. Postgres for it's maturity and features, and MySQL for it's simplicity and ease of use (you really don't need postgres to make a guestbook :-)).

      The important thing to remember is that in the end we'll have a fully mature free RDBMS. Either it's MySQL catching-upl, Postgres slowly moving toward it with a headstart.

      --

      What a rotten party, have we run out of beer or something?
    28. Re:mySQL gets more publicity by Saeger · · Score: 1
      Yeah, postgres works under cygwin, theoretically, but in practice a lot of people, including myself, have a hard time getting it to work (as I've seen browsing google groups). And yes, I'm running the latest version of both Cygwin and the required (but not included) cygipc (linked to google cache since their main page seems to be down).

      $ initdb -D db
      The files belonging to this database system will be owned by user "*****".
      This user must also own the server process.

      The database cluster will be initialized with locale C.

      creating directory db... ok
      creating directory db/base... ok
      creating directory db/global... ok
      creating directory db/pg_xlog... ok
      creating directory db/pg_clog... ok
      creating template1 database in db/base/1... IpcSemaphoreCreate: semget(key=1, num=17, 03600) failed: Function not implemented

      initdb failed.
      Removing db.

      --

      --
      Power to the Peaceful
    29. Re:mySQL gets more publicity by Saeger · · Score: 1
      Apparently cygipc is included in the cygwin 1.5.x-test releases. I'll have to give it a try.

      --

      --
      Power to the Peaceful
    30. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      success.

      $ initdb -D db
      The files belonging to this database system will be owned by user "Jason".
      This user must also own the server process.

      The database cluster will be initialized with locale C.

      creating directory db... ok
      creating directory db/base... ok
      creating directory db/global... ok
      creating directory db/pg_xlog... ok
      creating directory db/pg_clog... ok
      creating template1 database in db/base/1... ok
      creating configuration files... ok
      initializing pg_shadow... ok
      enabling unlimited row size for system tables... ok
      initializing pg_depend... ok
      creating system views... ok
      loading pg_description... ok
      creating conversions... ok
      setting privileges on built-in objects... ok
      vacuuming database template1... ok
      copying template1 to template0... ok

      Success. You can now start the database server using: /usr/bin/postmaster -D db
      or /usr/bin/pg_ctl -D db -l logfile start

    31. Re:mySQL gets more publicity by Anonymous Coward · · Score: 0

      The Wall Street Journal just published a story on MySQL. Wonder why there is no coverage for Postgres in major pubs? Maybe because it's not as popular. Anyway, the article talked about Cox Communication who runs a large DW on MySQL with over 1B rows and quickly approaching a TB in size. You are safer pushing MySQL in terms of job security, you don't want to follow a db that DOA.

  6. all "pgsql vs mysql" posts below this subject pls by Anonymous Coward · · Score: 2, Funny

    So we can get them neatly sorted out of the way of the interesting comments. Thanks.

  7. WOOHOO!! by PinkBird · · Score: 0, Flamebait

    Oracle is getting to be as bad as the Evil Empire Microsoft. We run an Oracle shop and pay boatloads of money a year to support.

    1. Re:WOOHOO!! by timbloid · · Score: 5, Insightful

      You would still have to pay boatloads for support...even with postgres... Open Source does not mean 24/7 Support calls...

    2. Re:WOOHOO!! by GoofyBoy · · Score: 1

      So stop using Oracle?

      How does charging lots of money = evil?

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    3. Re:WOOHOO!! by BiggerIsBetter · · Score: 1

      I know that in business it's down to risk management, but if you really need 24/7 support to keep your database running, that tells me your DB Admins aren't up to the task, and that your DB Software is too flakey. Afterall, it's just another piece of software...

      --
      Forget thrust, drag, lift and weight. Airplanes fly because of money.
    4. Re:WOOHOO!! by mawi · · Score: 0

      oracle is *getting* to be as bad as MS? They have been ever so bad since the eighties! In fact, back then I think many would agree that oracle was worse piggies than MS!

    5. Re:WOOHOO!! by johnnyb · · Score: 1

      "You would still have to pay boatloads for support...even with postgres... Open Source does not mean 24/7 Support calls..."

      Let's see, with Oracle, I can call 24/7 and get access to a complete idiot with a phone who can say he's escalated it and give me a cute little number. I have to trust them that they do actually have qualified engineers working on it and not some lame-o that just got hired last week. The amount of time it takes to reach a senior developer is unknown.

      With PostgreSQL, most emails to psql-general are looked at by a VERY experienced crew (many of the lead developers), who are very happy to help you out if you are polite.

      If you need more than that, it is available, but a lot of the "support" that people need to pay for with Oracle simply isn't required w/ PostgreSQL or open-source in general.

    6. Re:WOOHOO!! by johnnyb · · Score: 2, Informative

      It doesn't. However, Oracle _is_ evil, at least for their Enterprise Applications. Their sales reps are complete liars - the are trained to always say "yes" to "can it do X". Why? Because if it's not in the base install, you can code it yourself. Well, Golly Gee, don't I purchase an enterprise application so I don't have to code it myself?

      In addition, you can't really take it for a test drive, because it takes MONTHS to set up, even for small installations (it was a year process for a 300-employee company I used to work for, but we also had customizations as well).

      Also, they never feel a need to actually ship a _working_ product. The version we used would not let you enter an order quantity over 9. 9??? Was this tested by ANYONE? I've heard worse stories from their salesforce management software. They basically ship code straight from the developers to the end-users, and allow YOU to test it. And, when you discover a bug, it may take several months for them to get around to a fix, even if you have it escalated to SEV-1 (okay, maybe SEV-1s are fixed within a few weeks, but still...).

      And their consulting staff... Ahhh!! We were paying hundreds of dollars and hour for someone who had only used Oracle for 8 months! This was from Oracle headquarters. The guy had only done COBOL programming before, and had never clued into the concept of local variables. We had to recode everything he did.

      And, on top of that, we paid a HUGE amount of money for this privilege.

      It's not really the money that's the problem. It's that you might expect such service from a two-bit company that charged you $10/hour, but to be charged hundreds an hour for a totally crappy product, you just feel screwed in the end.

    7. Re:WOOHOO!! by Anonymous Coward · · Score: 0

      Yes, they are as bad on sales and money. But the difference is that Oracle works and works well.

    8. Re:WOOHOO!! by Anonymous Coward · · Score: 0

      I disagree. I was a DBA in a former life and found that it was *really* nice to be able to call Oracle in the middle of the night because that was when I was upgrading/fixing/etc.

  8. PostgreSQL fanboy by realnowhereman · · Score: 5, Informative

    I can't say a bad thing about postgresql; this was really the only thing I felt the need for. For anyone who hasn't tried it you really should. Although I don't want to start a MySQL v postgresql flamewar, after trying both I think that postgres has the edge. Mysql was undisputably easier to work with and (at the time) was faster. PostgreSQL has moved on at a much faster rate though. In particular postgresql has solid support for transactions, large objects, subselects, object oriented tables. I'm convinced that if you use databases long enough you'll want every last one of these and won't be able to do without.

    --
    Carpe Daemon
    1. Re:PostgreSQL fanboy by mshiltonj · · Score: 1

      Agreed. With replication, I'm happy. Now, if they can add clustering and/or failover functionality, I'll be *really* happy. But replication goes loooong way, bub.

    2. Re:PostgreSQL fanboy by timbloid · · Score: 1

      Surely you could move the clustering/failover to your application layer?

    3. Re:PostgreSQL fanboy by TheRaven64 · · Score: 5, Funny
      I don't want to start a MySQL v postgresql flamewar

      Awww. Go one, you know you want to really. Here, I'll help get the ball rolling:

      I've only every tried MySQL once, and that was for a database course assigment. It didn't have the features required for Question 1, so I switched to PostgreSQL. From this I deduce that MySQL is crap.

      There. That wasn't hard, was it? All that is required is a strongly stated, yet uninformed, opinion about either. Now we just need some other contributors...

      --
      I am TheRaven on Soylent News
    4. Re:PostgreSQL fanboy by Dan+Ost · · Score: 1

      You could, but if you can push a mechanism down to the lowest level that
      supports the objects that the mechanism works on (in this case, into the
      database), then all applications built above that level can take advantage
      of the new mechanism without reimplementing it.

      Think about it. If you have 10 applications that use a db, do you want to
      implement clustering/failover once for each application or just once for the
      db?

      --

      *sigh* back to work...
    5. Re:PostgreSQL fanboy by Anonymous Coward · · Score: 0

      Thats just insane - how on earth can you justify that mySQL is crap from a single assignment??

      mySQL has a much fancier web site that includes the slogan "The World's Most Popular Open Source Database" and for that reason alone is vastly superior to PostgreSQL.

      I would back this up with more information, but unfortunately I don't need to use either to sweep the streets.

    6. Re:PostgreSQL fanboy by DrXym · · Score: 3, Informative
      Recently, I was applying for a job that needed some db skills so I thought I'd brush up on my SQL / database knowledge. My first port of call was Oracle because I thought they'd surely give out a free demo version I could play with and installation would be easy. Unfortunately I couldn't find such a beast - perhaps if you endure some sales drone they might give you one, but I wasn't ready for that.


      So with some trepidation I used PostgreSQL instead. I was concerned with the setup time taking away from the time I learnt actual SQL but after a few hours of learning and tweaking I now have a spanking server running in RedHat and ODBC drivers so I can access it from Win32. I was thrown off to begin with because the 'postmaster' daemon was set to run without enabling TCP/IP support (-i option). But after I figured that out the rest was reasonably easy. I even installed a wonderful util called pgAdminIII which offers hierarchical configuration from a Windows box and was a doddle to use.


      So now I have a nice DB that I can play with and pgAdmin has a nice user friendly GUI that I can type SQL in with.


      What impressed me most was how *complete* support for SQL seemed to be. MySQL has a big list of gotchas but PostgreSQL seems to be aiming for completeness. This might not be everyone's cup of tea, especially if you want maximum speed but I appreciated the completeness - if something didn't work it was probably my fault! It also has a very complete and thorough manual which surprised me considering how shockingly awful most documentation is for open source.


      Anyway, top marks to PostgreSQL. I have no idea if it sucks in a performance environment but it feels very slick to use on a casual basis. With what I know of it so far, I would be seriously consider using it instead of reaching for a commercial (and horribly expensive) option. I suspect for all but the most demanding applications, something like Oracle is just massive overkill.

    7. Re:PostgreSQL fanboy by Anonymous Coward · · Score: 0

      I've only used your mother once, but it was quite fun, from this i deduce she takes it in the ass from everyone with $5.

    8. Re:PostgreSQL fanboy by Anonymous Coward · · Score: 0

      Wrong MS Access is the world's most popular database.

      Disguisting but true....

    9. Re:PostgreSQL fanboy by StormReaver · · Score: 1

      The county for which I work is using PostgreSQL county-wide for image archiving, with a couple dozen simultaneous users hitting it nonstop for the last 7-8 months without so much as a hiccup or slowdown.

    10. Re:PostgreSQL fanboy by AJWM · · Score: 2, Informative

      My first port of call was Oracle because I thought they'd surely give out a free demo version I could play with and installation would be easy. Unfortunately I couldn't find such a beast

      Did you try their web site? The little "Downloads" link on their main web page?

      Seriously, both 8i and 9i are available as downloads, as long with a ton of other stuff. You'll want a fast link, 9i is a couple or 3 CDs. (I DL'd the developer version with a lot of extra stuff)

      installation would be easy.

      Well, that's a relative term. I had problems with 8i (because of my configuration) but 9i worked fine.

      Oh, and that download link goes to here.

      --
      -- Alastair
  9. eRServer and PG Replicator by juahonen · · Score: 5, Interesting

    This is indeed good news, as free software always is. But eRServer can only operate in single-master mode, which makes it unsuitable for high-availability kind of work. Single-master systems are good for load-balancing on installations where most of the queries to the DB are SELECTs.

    eRServer comes a bit late. We already have PostgreSQL Replicator, which is multi-master. Unfortunately PG Replicator is not supported anymore. The latest version it can work with is 7.1, and the project's latest news are timestamped nearly two years ago.

    1. Re:eRServer and PG Replicator by bobaferret · · Score: 3, Informative

      FYI:
      eRServer has fail over of the master to the primary slave, which makes it just fine for HA applications

      Replication in postgres is still quite alive. The website is dead, but the mailing list and development is pretty active.

      They were trying to get replication code into the main line 7.4, but that got pushed back. However people are still hgacking away at it.

    2. Re:eRServer and PG Replicator by rtaylor · · Score: 1

      Yes, eRServer available with a commercial support license support multi-slave.

      Multimaster will take a bit of effort.

      I have interest in 2PC prior to multimaster due primarily to JBoss :)

      --
      Rod Taylor
  10. Let's be honest, ok??? by botzi · · Score: 0, Flamebait
    This makes PostgreSQL one step closer to being able to replace Oracle as the de facto RDBMS standard.

    Whatever, dude, I know that everything OS-ed is saint, but why can't we just one single time stay realistic????
    Anyway, this thing above.... not gonna happen real soon now.

    --
    1. No sig. 2. ???? 3. Profit!!!
    1. Re:Let's be honest, ok??? by Anonymous Coward · · Score: 0

      Well, technically it says that it makes PostgreSQL one step closer, which it does. It doesn't say anything about PostgreSQL replacing Oracle tommorrow.

  11. Good day for OS by nepheles · · Score: 1

    A Good Thing(tm)

    Corporations are the people Open-Source needs to get on its side. (And, I might add, the OS community is doing a very good job here). They give a project name-recognition, thousands of users, good infastructure, and credibility. PostgreSQL will hopefully begin to compete seriously with Oracle. Another feather in the Open-Source cap.

    --
    ((lambda x ((x))) (lambda x ((x))))
  12. But by Anonymous Coward · · Score: 2, Interesting

    PostreSQL still dosent support inverse and shadow keys. Until they support them, We will continue to fork out 100.000 a year for Oracle.

    1. Re:But by Anonymous Coward · · Score: 0

      "We will continue to fork out 100.000 a year for Oracle"
      Just $100? Can you put me in touch with your Account Manager.. we're paying a lot more than that.

    2. Re:But by Dan+Ost · · Score: 1

      What are inverse and shadow keys used for?

      --

      *sigh* back to work...
    3. Re:But by Anonymous Coward · · Score: 0

      I think he means $100,000.00 a year, which begs the question "Don't you think you could pay someone $50,000 to code inverse/shadow key support into PostgreSQL and save yourself a lot of money long term?"

    4. Re:But by Anonymous Coward · · Score: 1, Interesting

      Find a descent OSS programmer & research papers that describe how these work. Pay the programmer the $100,000/year you are paying Oracle. Your payback period will be (roughly) the same as the time it took the programmer to implement the feature. There are probably some PostgreSQL developers that would jump at the chance.

    5. Re:But by rtaylor · · Score: 2, Informative

      Take 10k and contract out a PostgreSQL developers. Several features have been added in this way. I
      believe cross transaction cursors is the most recent.

      --
      Rod Taylor
  13. plPHP by jdh-22 · · Score: 4, Informative

    They also have been working on a procedual language for PostgreSQL for server side triggers, and functions. Information can be found here, plPHP.

    PostgreSQL has made some pretty nice advancements post version 7+, performance and feature wise. I worked on a intranet where the company spent lots of money trying to get an Oracle solution to work, but found it was way to slow. The suggestion of PostgreSQL, and MS SQL came up. We tested PostgreSQL, and it was acutually faster, and easier to maintain then our Oracle database. The best part was, it was free!

    --
    Every Super Villan uses Linux.
    1. Re:plPHP by Anonymous Coward · · Score: 1, Informative

      There are already a bunch of procedural languages for PostgreSQL. There's PL/PgSQL, plus Perl, Python, and C for extension writing, included with the base distribution (as long as you have the interpreters/libs on your system.) PHP is just one more language to add to that list.

    2. Re:plPHP by messju · · Score: 1

      plPHP looks interesting but i think it starts getting really usable when it supports OLD.NEW records. for the non neglible number of php-haters here: same goes for plPerl, of course.

  14. One Step Closer? by cmay · · Score: 3, Funny

    So I get up and take a step toward the coffee machine, I guess I am ALSO "one step closer" to China!

    1. Re:One Step Closer? by Anonymous Coward · · Score: 0
      Ah, but the Zen-Master says that on a globe, you are also one step further away from China.

      Anonymous Kev
      Proudly posting as AC since 1997

  15. Synchronous Replication? by Anonymous Coward · · Score: 5, Insightful

    While this is a nice step forward, the real reason large sites utilize Oracle is because of synchronous replication.

    The replication needs to be able to keep all data consistent across multiple servers, without any conflicts. Then, if a particular server goes down, the DNS can simply fail over to a second server.

    Once the above has been achieved, then we have a viable alternative to Oracle.

    1. Re:Synchronous Replication? by Anonymous Coward · · Score: 0
      Check out: http://gborg.postgresql.org/project/pgreplication/ projdisplay.php

      The Postgres-R effort is pretty slick, and could widen the gulf between PostgreSQL and that little Swedish wind-up toy whose name escapes me.

    2. Re:Synchronous Replication? by Anonymous Coward · · Score: 0

      Heh. Hopefully you use something a little faster than DNS for failover, like a load balancer or IP address takeover.

  16. Re:Terminate RDBMSs by Anonymous Coward · · Score: 1, Insightful

    Hehe, you're silly.

    Where I work, we have a data warehouse, which grows about 8 GB per day, and holds 13 months of live data. Lets see you hold that in RAM !

  17. OOS vs. Oracle by Baavgai · · Score: 5, Informative

    > This makes PostgreSQL one step closer to being able to replace Oracle...

    Please! While this may help win the hearts and minds of OOS geeks, it does little to improve their standing in the business world.

    Oracle is as established in the database world as Microsoft is on the desktop. This alone would doom any OOS wannabe to quiet places like web server back ends where they already do well anyway ( e.g. mySql ).

    Put aside the technical considerations, support, client base, etc and PostgreSQL still offers as much of a threat to Oracle as mySql or dBase. The only real threat I've seen to Oracle supremacy is Microsoft's SQL Server but, of course, that's only in MS shops.

    1. Re:OOS vs. Oracle by Woodblock · · Score: 1

      I beg to differ. Where I work, we already have replaced Oracle with Postgres, and having a enterprise level replication package will let us avoid the myriad of half-assed hacks we were using.

    2. Re:OOS vs. Oracle by rcs1000 · · Score: 4, Insightful

      PostgreSQL and mySQL are real, undeniable threats to Oracle. Not threats in the sense that Oracle's business will disappear, or that either of these databases will become de facto standards, but threats in that they will indisputably affect Oracle's ability to grow its database revenues.

      My forecast, for what it's worth, is that Oracle's database business is in secular decline.

      It doesn't matter that mySQL or PostgreSQL can't do everything that Oracle 9i does. That they do some of it, do it better and do it cheaper is what is key.

      Five years ago, if you wanted to build a web-based application of any size, you probably went with Oracle. Now there is a free option. At the very least corporate purchasers will use this as a way to extract price concessions from their Oracle salesperson. More likely, in a few places (at first) PostgreSQL and mySQL will work their way into the corporate psyche by being used. Maybe for internal stuff, where budgets are tight. Or where projects are being "hidden" from management. But slowly, open source databases are taking hold.

      The next stage is for the enterprise application vendors (SAP, PeopleSoft, Siebel) to start supporting OSS databases. They'll want to, because it lowers the cost of projects to clients, while safeguarding their (falling) application license revenues. Hence, SAP "donating" SAP DB to mySQL. My forecast (number two) is that we'll see all three of the application vendors at least trialling OSS databases with beta customers by end '03. (Yes, I know SAP is already doing it, and that PeopleSoft has issued press releases but no product.)

      And in this way, in the same way Linux slipped quietly into corporates, OSS databases will take off.

      My only hope is that PostgreSQL, which is a much superior product to mySQL, will get the publicity it richly deserves.

      *r

      --
      --- My dad's political betting
    3. Re:OOS vs. Oracle by AxelTorvalds · · Score: 2, Insightful
      The only real threat I've seen to Oracle supremacy is Microsoft's SQL Server but, of course, that's only in MS shops.

      cough.. db2. cough

      You watch, oracle will be looking at MSSQL and DB2 will bitch slap them silly.

    4. Re:OOS vs. Oracle by Anonymous Coward · · Score: 1, Insightful
      You watch, oracle will be looking at MSSQL and DB2 will bitch slap them silly

      DB2 yes, but MS SQL? Get real, back in 2001, the guy heading the clustering part of SQL Server had a chat on technet that stated "clustering that works". MS Sql doesn't have any where near the scalability of DB2 or Oracle. Even with ADO.NET, it still can't handle tens of thousands of concurrent active queries. DB2 and Oracle can. I could be wrong. there could be some one out there handling 3K concurrent active queries to Sql Server with 10% updates. Sql Server still won't have a HA when yukon is released. The only kind of replication that seems to work reliably is one way. From a master to a slave DB. Oracle 9i already has grid support and can dynamically move a table over to another database. Can MS Sql do that? It will probably take 10-15 yrs before they are ready to build those features into MS Sql server. which means 18 yrs before it is released.

    5. Re:OOS vs. Oracle by Anonymous+Struct · · Score: 1

      This is true at the high-end, no doubt. But where I work, we've got oracle and mssql all over the place, and we could easily be doing all of our work on something like postgres. While Oracle certainly has a high-performance reputation, the fact is that more and more people are deploying databases that simply don't need that kind of power. Postgres shines particularly brightly in the low-to-mid range arena with folks like us, and I think that represents a pretty good chunk of the market these days.

    6. Re:OOS vs. Oracle by bobaferret · · Score: 2, Insightful

      OSS in the server room is very different from OSS on the desktop. It folks tend to be educated, and PHB look at the bottom line.

      Oracle is not as established as MS. They even note this. That is why they are trying to pull an IBM and turn themselves into a service company, not a DB company. What they sell is support. DB2 has just as strong a foothold.

      You can't put aside the technical considerations. This isn't about the desktop and perception. This is about the server room and services. All there is here are the technical considerations.

      And SQL server has never been a threat to oracle. Comoditization of the market is their onl;y real threat.

    7. Re:OOS vs. Oracle by Piquan · · Score: 1

      Counterexample.

      My department, when preparing our Big Database Without Which We'd Be Screwed, seriously looked at PostgreSQL, MySQL, and Oracle. We decided that PostgreSQL was the way to go.

    8. Re:OOS vs. Oracle by penguin7of9 · · Score: 1

      Please! While this may help win the hearts and minds of OOS geeks, it does little to improve their standing in the business world. Oracle is as established in the database world as Microsoft is on the desktop.

      We're geeks: we can't do anything about terminal stupidity or give managers brain transplants. What we can do is make software good enough so that it becomes a viable alternative. The smarter ones will pick it up, the others will just keep paying Oracle or Microsoft.

      Fortunately, it's a free market. Eventually, the poor support and enormous costs that come with the commercial products will hopefully bankrupt their companies. Then, the leaner and meaner and smarter companies using open source will survive, and that will take care of the stupidity problem.

    9. Re:OOS vs. Oracle by WoTG · · Score: 1

      Very well said!

      Oracle can still own the biggest-baddest-database (TM) market, but it will eventually be a big fish in an ever shrinking pond. Rather like Sun vs. Linux.

      With mySQL, PostgreSQL, Firebird, and SAPDB growing, the whole bottom half, and maybe even 4/5th's (?) of the database market could go to open sourced products (with optional support packages). This transition is probably going to happen a lot quicker than any transition to Linux on the desktop. The guys running DB's are usually technical enough to handle the switchover with relative ease. And the end-users shouldn't see a difference, so they won't really care.

    10. Re:OOS vs. Oracle by Chacham · · Score: 1

      Well, that is a good point. However, one thing i love about Oracle is Google. In Google groups there is so much help from years and years of use, that i'd say my work relied on Google.

      Other DBs don't seem to have that amount of background. They would require more people using them, and more years of questions, answers, and best practices. It can happen. It likely will happen. I just don't think the focus should be advertising. It should be community support.

  18. SAPDB relicenced to MySQL by emmavl · · Score: 3, Informative

    Starting with the next release SAPDB will be rebranded as MaxDB by MySQL AB.
    This will probably mean that PostgreSQL will have a very hard time competing with MySQL ! (also see the info on the SAPDB webpage)
    At the same time the licencing will change to pure GPL (no more LGPL libraries !!!)

    1. Re:SAPDB relicenced to MySQL by noselasd · · Score: 2, Interesting

      >At the same time the licencing will change to pure GPL (no more LGPL libraries !!!) And that is supposed to be a good thing ?? Sure if you're RMS, but most of us are not. So now on must opensource the app , or pay. Great :-/

    2. Re:SAPDB relicenced to MySQL by emmavl · · Score: 1

      Duh ..., the first link should have been SAPDB

    3. Re:SAPDB relicenced to MySQL by emmavl · · Score: 1

      I never said this is a good thing. Neither do most people on the sapdb mailing list ...

    4. Re:SAPDB relicenced to MySQL by aeoo · · Score: 2, Interesting

      I think PostgreSQL is infinitely superior to SAPDB. Have you actually tried using SAPDB? I have tried it on Solaris, and it failed to run on our version of Solaris (I believe it was 8). I looked at their home page and documentation and I was left feeling that SapDB is a half-baked, kludgey, crusty product.

      PostgreSQL on the other hand just works, is fast and is smooth as silk. I think even plain old MySQL 4.x is better than SAPDB (yea, it lacks features, but it's a better product overall).

    5. Re:SAPDB relicenced to MySQL by IANAAC · · Score: 2, Insightful

      This will probably mean that PostgreSQL will have a very hard time competing with MySQL ! I'm not so sure... Most places I know that already use PostgreSQL (my place of employ included) have no intention of switching because it works as advertised. I guess my real point is just because you hear more about MySQL doesn't necessarily mean that PostgreSQL isn't being deployed in businesses. Most of the time when I hear of MySQL it's in a web-site deployment context. The type of stuff we use PostgreSQL for goes beyond that context.

    6. Re:SAPDB relicenced to MySQL by Kashif+Shaikh · · Score: 1

      Have you even read the SAPDB webpage for licensing? Here it is

      MaxDB will follow the MySQL dual licensing policy, which in short is "if you're free, we're free -- if you're commercial, we're commercial". This means that the product is released completely under the GPL and that a commercial license is offered to those customers who wish to distribute it commercially, without themselves being GPL. SAP DB has been offered under a different licensing scheme as the interfaces have been L-GPL.

    7. Re:SAPDB relicenced to MySQL by emmavl · · Score: 1

      And which part of my post is saying anything different ?
      Until now you could write commercial applications with SAPDB (because the libraries were LGPL). With the new licensing scheme you have to buy a commercial license from MySQL.

    8. Re:SAPDB relicenced to MySQL by Anonymous Coward · · Score: 1, Interesting

      If they are going to replace the bloody guts of MySQL with the bloody guts of SAP, or they are going to drop MySQL as we know it today and call SAP MySQL, then perhaps. Otherwise, I think MySQL will have the same level of threat the PostgreSQL will have. The MySQL AB will just own two DBs, and one of them was a commercial product.

      I'm not sure why you dislike Postgres so much, since your comment has like a "hahah screw you postgres" feeling to it. Whatever man.

    9. Re:SAPDB relicenced to MySQL by snillfisk · · Score: 1

      At the same time the licencing will change to pure GPL (no more LGPL libraries !!!)

      This is hardly a good thing MySQL IMHO, since this kinda makes it impossible to bundle the library with products like PHP (released under the PHP license). The bundling of the MySQL library with PHP is probably one of the reasons why MySQL got so popular in the first place, it took minimum effort to setup and configure a MySQL / PHP-configuration -- if the PostgreSQL-guys jump on the bandwagon and creates a nice, bundle-friendly client API, the positions for the lower end of the market may suddenly change (BTW, there was some mention of getting a special solution for PHP, just to make sure they still could bundle it; not sure how that ended, been of the dev-list for a month now due to summer :/).

      --
      mats
      One man's ceiling is another man's floor.
    10. Re:SAPDB relicenced to MySQL by Anonymous Coward · · Score: 0

      > This will probably mean that PostgreSQL will
      > have a very hard time competing with MySQL

      Dude, postgres already beats sapdb hands down. ask the open source development labs folks who tried to run the tpc benchmarks on spadb and eventually switched to postgres in order to get decent performance...

  19. Is this only a partial solution? by MarkSwanson · · Score: 5, Interesting

    Please let me know if I'm wrong...

    I visited the site, and the commercial site too and it seems this is only simple replication with the master being a single point of failure. F.E.

    1. update a row in the master
    2. master replicates the update to multiple slaves
    3. clients perform select operations against the slaves (nice load balancing opportunity)
    4. the master crashes
    5. No one can write until the master comes back online.

    Here are the steps that seem to be missing:
    6. the slaves elect a new master
    7. if the old master comes back up it must realize a new master is present and become a slave.
    8. clients using JDBC would need some mechanism of finding out what the new master is when an update/insert/delete fails.

    Cheers.

    --
    Schedule your world with ScheduleWorld.com http://www.ScheduleWorld.com/ (Java Web Startable)
    1. Re:Is this only a partial solution? by einer · · Score: 2, Informative

      8. clients using JDBC would need some mechanism of finding out what the new master is when an update/insert/delete fails.

      C-JDBC may take care of this

    2. Re:Is this only a partial solution? by ralphclark · · Score: 4, Funny
      6. the slaves elect a new master.

      6a. The slaves realize to their horror that the new master has become as evil as the old master was.

      7. if the old master comes back up it must realize a new master is present and become a slave.

      7a. Some of the slaves conspire with the old master to assist his return to power.

    3. Re:Is this only a partial solution? by Kashif+Shaikh · · Score: 1

      2. master replicates the update to multiple slaves

      Another question you want to ask: Are the updates synchronous, meaning if:

      clientA updates row 1 at T1
      then clientB should be able to read updated row 1 at T2. If not, then replication is only meant to be used as a backup and not as a distributed database.

      If the updates are async, then at T2 clientB will get the old row1 or the new row1 - it all depends on the actual time data gets replicated to other boxes.

      Kashif

    4. Re:Is this only a partial solution? by LilJC · · Score: 1
      7a. Some of the slaves conspire with the old master to assist his return to power.

      ...and finally, Bush declares war on the cluster.

      --

      The only thing more dangerous than a file named -rf is renaming it -rf\ /
    5. Re:Is this only a partial solution? by LadyLucky · · Score: 1
      6a. The slaves realize to their horror that the new master has become as evil as the old master was.

      Is that you, Spartacus?

      --
      dominionrd.blogspot.com - Restaurants on
    6. Re:Is this only a partial solution? by Anonymous Coward · · Score: 0

      No, *I'M* Spartacus!

  20. IANADBA by WeirdKid · · Score: 5, Insightful

    I like PostgreSQL, and Open Source deserves capitalization, but I'd like to hear an enterprise DBA's perspective on if this really compares to Oracle's configurability, clustering capabilities, or the seamless swapping of redundant database packages when deployed on, say, an EMC 1000, for reliability and failover. BTW, for this request, "enterprise" = Fortune 100, not Joe's Web Hosting.

    Like the subject says, I'm not a DBA, but I know some pretty heavy-duty ones that say nothing beats Oracle running on HP Superdomes with EMC storage.

    1. Re:IANADBA by BigGerman · · Score: 5, Informative

      As someone who has been messing with Oracle for more than 10 years, I must say that NOTHING (in commercial or OSS world) comes even close on the high-end hardware you are describing. Properly tuned, humming Oracle database is a work of art.
      But it is also true that wast majority of Oracle installations are poorely implemented (due to enourmous and unjustyfiable complexity), Oracle's management software sucked (getting better recently), support far from stellar (telephone support hardly usable), yearly costs are sky-high.
      I started looking at PostgreSQL and the more I look the more I like what I see - it is conceptually simple, seems to have adequate performance with large tables, JDBC seems to work well too, stored procedures language is very close to Oracle's (I wish for better exceptions handling), and the whole thing is more than adequate replacement for 80% of Oracle installations I have personally seen.
      And I have to add that I tried very hard to like MySQL but it did not work for me.
      Everything above is IMHO and the usual disclaimers apply.

    2. Re:IANADBA by Anonymous Coward · · Score: 0

      My business card doesn't say DBA either (though I've done some of that too), but as an EAI consultant, I've worked with clients ranging from small to huge. Based on observation, the larger the company is, the more likely it is to be running something like Oracle or DB/2 for it's main accounting/ERP/CRM/etc. system (usually on hardware from HP, IBM, or Sun). When someone like SAP certifies PostgreSQL as a supported database for their ERP system, then we will know that it's competing with Oracle.

    3. Re:IANADBA by mawi · · Score: 0

      Well, since SAP *is* working with Mysql (see previous post above) and SuSE - maybe that isn't too far off. I think y'all should get real. Big companies play with big companies. That is by far the most important factor. The big companies I've worked tend to find a sense of security in that. Right now, I would easily want to go with a nice replicated DB solution that isn't MS SQL Server/oracle for our ERP install (axapta). But that's not gonna happen AFAIK/AFAICS. (please differ on that!)

    4. Re:IANADBA by mchappee · · Score: 2, Informative

      I'm the lead developer for a company that sells a Linux-based document management "appliance". We chose PostgreSQL to be the database backend during the initial spec. After we started rolling these out to customers we monitored the performace carefully for any hint of scalability issues.

      We've recently sold appliances to some high volume customers and I must say that PostgreSQL has had no issues. It's fast for small, medium, and large installations serving up thousands to millions of documents.

      We have our own system for redundancy since the database is only one piece, but we may switch over if their new offering turns out to be better for the database piece.

      --
      /. finds me to be 20% Troll, 80% Funny
    5. Re:IANADBA by mangu · · Score: 1
      ...if this really compares to Oracle's configurability, clustering capabilities, or the seamless swapping of redundant database packages...


      No. But how many companies actually need all this? What's happening is that postgres is eroding the oracle market share from below. Read Clayton Christensen's "The Innovators Dilemma" and you'll see postgres as the classic disruptive innovation.

    6. Re:IANADBA by ryanvm · · Score: 1

      But it is also true that wast majority of Oracle installations...

      Wow BigGerman, you even type with a German accent. ;)

    7. Re:IANADBA by Desert+Raven · · Score: 1

      Don't forget that Oracle also likes to change the licensing requirements on a regular basis as a way of extorting/extracting, ever-increasing amounts of money from their victims/customers.

      In a true enterprise installation, the amount of money is downright staggering.

    8. Re:IANADBA by Some+Pig! · · Score: 1

      >Like the subject says, I'm not a DBA, but I know
      >some pretty heavy-duty ones that say nothing beats
      >Oracle running on HP Superdomes with EMC storage.

      Haven't heard about the recent Sybase benchmark on Superdome? Ask around. But HP doesn't want to antagonize Oracle so it hasn't been released yet.

      No, this is not an X-Files, "suppressed UFO report" thing, it's just one of the means by which Oracle maintains its market share. Yes, any benchmark is only a benchmark, but I'd like to see it out there.

      (Some people prefer Ferraris to SUVs.)

    9. Re:IANADBA by p3d0 · · Score: 2, Funny
      As someone who has been messing with Oracle for more than 10 years, I must say that NOTHING (in commercial or OSS world) comes even close on the high-end hardware you are describing.
      As an IBM employee, I think my employment agreement requires me to ask: what about DB/2?
      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    10. Re:IANADBA by slayer99 · · Score: 1


      > But it is also true that wast majority of Oracle installations are poorely implemented (due to enourmous and unjustyfiable complexity),

      Does your spellchecker run on Oracle, too?

      --
      Martin Brooks / Slayer99 #linux / UIN 2178117
    11. Re:IANADBA by penguin7of9 · · Score: 1

      I like PostgreSQL, and Open Source deserves capitalization, but I'd like to hear an enterprise DBA's perspective on if this really compares to Oracle's configurability, clustering capabilities, or the seamless swapping of redundant database packages

      I am not a (full-time) DBA, and neither are probably 99% of the people, like me, who use RDBMSs in their work. The problem with Oracle is that it pretty much requires a DBA in order to work well. Alternatives to Oracle (commercial or open source) may not have all the whiz-bang features, but they are much easier to deal with if you aren't a full time DBA.

      Oracle may or may not be the Ferrari of databases, but a Honda Civic is probably more practical transportation for most people.

  21. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  22. Pardon my ignorance by dborod · · Score: 3, Funny

    We use PostgreSQL a lot. Since all the of the sites related to this story are in the process of being /.ed, can someone tell me what this replication thingy does?

    1. Re:Pardon my ignorance by proj_2501 · · Score: 2, Interesting

      replication = redundant database servers always having up-to-date data

    2. Re:Pardon my ignorance by stmiller · · Score: 1

      Replication is the process of copying transactions from one source database to one or more target databases on a near-real-time basis, in an effort to keep all or part of the databases tightly synchronized. It is often used to balance the load across multiple database servers, or to share data amonst various divisions within an enterprise. It is pretty simple when all of the target databases only read the replicated data ("single master mode".) It gets trickier when more than one database can update the same record ("multi-master mode".) In the latter case, you need some sophisticated software to detect and resolve conflicts when two or more databases try to update the same record at the same time.

  23. PostgreSQL is a non-entity... by Anonymous Coward · · Score: 0

    ...until it provides a proper explanation of its name.

    Yes, PostgreSQL is a concatenation of Postgres SQL - its former name, but Postgres is not a word.

    WTF is it supposed to mean? Or is it just nonsense and I'm to view the product in the same light?

    1. Re:PostgreSQL is a non-entity... by BigGerman · · Score: 2, Informative

      Original Ingres product -> more features -> Postgres -> compliance with SQL standards -> PostgreSQL

    2. Re:PostgreSQL is a non-entity... by bigpat · · Score: 1

      ... More likely the authors had taken the Graduate Records Exam after college and done very poorly, so they decided to write database software instead.

      Thus it really is Post GRE SQL.

    3. Re:PostgreSQL is a non-entity... by Anonymous Coward · · Score: 0

      How does something with a long history of development earn the title "non-entity"?

  24. What by Anonymous Coward · · Score: 0

    This makes PostgreSQL one step closer to being able to replace Oracle as the de facto RDBMS standard.

    About 500 more to go kids.

  25. Re:One step closer to Oracle... by JAgostoni · · Score: 1

    MySQL and PostgreSQL have entirely different purposes driving them. MySQL = fast, small, low-footprint at the sacrifice of features. PostgreSQL = full-featured at the sacrifice of performance (though, just a little performance). So when you say a leap "ahead" of MySQL, you'll have to qualify that. Myself, I prefer PostgreSQL, simply because of the features. I USE MySql because it is fast a 99.9% of hosting providers offer no other alternative.

  26. Another powerful Open Source DB by Anonymous Coward · · Score: 2, Interesting

    Mnesia.

    It's not perfect for everything, but if you want scalability, failure resilience and excellent query time, it's well worth a shot.

    As an added bonus, it gives you a good excuse to learn erlang, so that LISP-weenies can sneer at you.

    1. Re:Another powerful Open Source DB by Anonymous Coward · · Score: 0

      Mnesia.

      Bless you.

      As an added bonus, it gives you a good excuse to learn erlang

      That's like saying cancer has the added bonus of giving you a good excuse to try chemotherapy.

  27. Re:Terminate RDBMSs by TheRaven64 · · Score: 1
    Where I work, we have a data warehouse, which grows about 8 GB per day, and holds 13 months of live data. Lets see you hold that in RAM !

    And then watch the DBA break down and cry as the UPS fails during a blackout...

    --
    I am TheRaven on Soylent News
  28. Thanks by Bromrrrrr · · Score: 1

    "PostgreSQL Inc, the commercial company providing replication software and support for PostgreSQL, open sourced their eRServer replication product"

    Many thanks you guys....we've been waiting for this a long time

    --

    What a rotten party, have we run out of beer or something?
  29. enterprise application support by FreeBSDbigot · · Score: 2, Insightful

    Until SAP, PeopleSoft, and Oracle applications support it, which will happen, respectively, probably no time soon, probably never, and never, it won't "replace Oracle as the de facto RDBMS standard."

    --
    Orange whip? Orange whip? Three orange whips.
    1. Re:enterprise application support by Anonymous Coward · · Score: 0

      Can someone translate this to english for me?

    2. Re:enterprise application support by mawi · · Score: 0

      It means:
      "I did not read the post about SAP above" or
      "SAP?" or
      "WTF am I writing?" ;)

  30. StarFish by mflaster · · Score: 3, Interesting

    [ shameless_plug ]
    StarFish is a block-level storage system allowing on-the-fly geographic replication, that would work with any database. It was OpenSourced by Lucent a few months ago. It won the Best Paper award at Freenix '03.
    [ /shameless_plug ]

    1. Re:StarFish by rtaylor · · Score: 1

      Disk replication?

      Very interesting, but in the case of PostgreSQL I don't believe it will work (love to be proven wrong!). Many databases use a memory cache for speed reasons that must (of course) be in sync with the disk. Popular pages are never cleared from the cache and will not be read from disk after the initial scan.

      If StarFish could tell PostgreSQL that a page it is caching is no longer valid, then this may be a possibility.

      I assume StarFish guarentees TOA or 2PL or something?

      --
      Rod Taylor
    2. Re:StarFish by rtaylor · · Score: 1

      TOA should have been TOW (Total ordered writes)

      2PL is 2 phase locking (similar to 2pc)

      --
      Rod Taylor
    3. Re:StarFish by mflaster · · Score: 1

      OK, I just spoke to a DB colleague (I'm not a DB guy). StarFish was built to be a general storage system. It is not specific to databases.

      When I used the word "replication" above, I hadn't realized that there are specific database semantics for that word. I should have said that it does data replication, not database replication. (Of course, when I made my post, I didn't know the difference... :-) )

      StarFish looks just like a regular SCSI disk to the OS. It's almost like a RAID, except instead of having n disks in a chassis, you can have n disks spread out geographically. Writes are essentially replicated synchronously, except that you can specify how many copies need to be written before acknowledging the write. For example, if you have 8 storage elements (like the blades in a RAID), you can acknowledge the write to the host OS once any 2 of them have written the data to disk. You don't have to wait for all of them to commit. Each storage element (when the system is not experiencing any failures) has a complete copy of the data.

      It is distributed block level storage. It does not have any specific features for database implementation (other than the fact that it's block level, it does not reorder writes/cache things/play any tricks).

    4. Re:StarFish by rtaylor · · Score: 1

      I see. Still an interesting possibility for a failover system.

      --
      Rod Taylor
  31. Kick off Football Season with PostgreSQL by slazlo · · Score: 0, Offtopic

    shameless plug
    Since Football season is here and a lot of OS workers hang out in offices come check out a site which allows you the functionality of Blogger, Yahoo Groups and allows you to run your own Football Pools. The whole site architecture is OS using AOLserver, PostgreSQL, Postfix, on GNU-Linux

    PostgreSQL kicks butt and so will the Redskins this year. You can check out the some of the technical details at www.23pools.com/sh/co/tech and make your predictions using PG to store your picks or check out a sample blog at Never Give Up

    end of shameless plug

  32. Re:Terminate RDBMSs by Jagunco · · Score: 1

    And you clueless. There are some technologies that can dump the hd storage devices (no pun intended) and unify the whole memory speed hierarchy. If that happens, say goodbye to rdbms's and swallow something like object prevalence.

  33. Top Five Components by devnullkac · · Score: 2, Interesting

    From the press release:

    eRServer gives us one of the 'top five' components that the PostgreSQL database has needed in order to compete with commercial enterprise databases such as Oracle and DB2 on equal terms
    Does anyone know what the other four components are and whether they're already here?
    --
    What do you mean they cut the power? How can they cut the power, man? They're animals!
    1. Re:Top Five Components by Bernie · · Score: 1

      I don't know, but one critical missing for me is writeable views. Replication (even single-master) gives you the added sweetness of the ability to hot dump :)

    2. Re:Top Five Components by Anonymous Coward · · Score: 0

      pg_dump already allows you to "hot dump" a PostgreSQL database. I use it every day.

    3. Re:Top Five Components by Anonymous Coward · · Score: 1, Informative

      Replication
      Point in Time Recovery
      Two-Phased Commit
      Win32
      Nested Transactions

    4. Re:Top Five Components by slamb · · Score: 2, Informative
      I don't know, but one critical missing for me is writeable views.

      It already has them. You have to write the rule yourself, so it's not nearly as convenient as in Oracle, but it's possible. It's something like:

      create rule foo_ins as on insert to bar_v do instead (
      insert into bar (...) values (...);
      )

      create trigger foo_up as on update to bar_v do instead (
      ...
      )

      Now, I could see why you'd really want these to be automatic, as updating the definition of these rules manually is a maintenance headache. But you can do it.

    5. Re:Top Five Components by rycamor · · Score: 1

      Apparently coming soon, these rules will be created automatically for non-ambiguous views. The great thing is that you will still be able to modify these rules, to make any logic happen as the result of a view update.

    6. Re:Top Five Components by pHDNgell · · Score: 1

      You don't have to do that much work, you just need the one rule. For example:

      create view money_transactions_reconciled as
      select transaction_id, user_id, acct_id, cat_id, reconciled
      from money_transactions
      ;
      create rule money_transactions_reconciled_u as
      on update
      to money_transactions_reconciled
      do instead
      update money_transactions
      set reconciled=new.reconciled
      where transaction_id=new.transaction_id
      ;
      grant select, update on money_transactions_reconciled to nobody;

      The nice thing here is that I only want *one* column to be updatable in my view update.

      --
      -- The world is watching America, and America is watching TV.
    7. Re:Top Five Components by slamb · · Score: 1
      You don't have to do that much work, you just need the one rule.

      Sure, if you are only wanting to support UPDATE. But I think that UPDATE, INSERT, and DELETE require separate logic. And most people want to support updating more than the one field.

    8. Re:Top Five Components by slamb · · Score: 1
      Apparently coming soon, these rules will be created automatically for non-ambiguous views. The great thing is that you will still be able to modify these rules, to make any logic happen as the result of a view update.

      I'll be looking forward to that. I saw a little bit of discussion about it, but missed the final result. Will it work just single-table queries, or will it be able to handle stuff like this?

      create view employee_formview as
      select employee.*,
      supervisor.lname as supervisor_lname,
      supervisor.fname as supervisor_fname,
      department.name as department_name
      from employee
      natural join department
      left join supervisor on (employee.supervisor_id = supervisor.employee_id);

      (ugh, slashdot butchered the indenting, sorry. it doesn't seem to to preserve spaces either with &nbsp; or in a <ecode> block.)

      Oracle's behavior is to allow inserts, updates, and deletes. You can only set the columns in the first table mentioned ().

      This works well for Oracle Forms-based stuff; I just set the other columns to "Query Only" and have LOVs (Lists of Values; a fancy drop-down sort of thing) that set them and the ID fields at the same time. Both changes appear on the screen and only the ID fields are sent to the database.

    9. Re:Top Five Components by rycamor · · Score: 1

      Well, since I already handle updating on multi-table queries with views anyway, I don't think there will be any problem automating that. Really, the great thing is that you have complete freedom anyway. Creating a rule in PostgreSQL to handle multi-table views is as straightforward as:

      CREATE RULE my_rule AS
      ON INSERT TO my_view DO INSTEAD(

      -- insert to first table
      INSERT INTO table1 (col1, col2, col3)
      VALUES (NEW.val1, NEW.val2, NEW.val3)
      WHERE [condition];

      -- insert to 2nd table
      INSERT INTO table2 (col1, col2)
      VALUES (NEW.val4, NEW.val5)
      WHERE [condition];
      );

      You do have to create a separate rule for each of INSERT, DELETE, and UPDATE though, but it is quite simple. Also, view definitions themselves are really just rules in PostgreSQL, so you can also write a SELECT rule that defines any kind of complex behavior you want, such as inserting a timestamp into a log table whenever there is a SELECT. Fun stuff... ;-)

  34. MS SQL Server - Re:The defacto standard by Malc · · Score: 4, Insightful

    By the time PostgreSQL is capable of replacing Oracle as the de facto standard, MS SQL Server will already have done the job and be the new standard to beat. No matter how much people despise MS SQL Server, nor how much they over rate Oracle, it is now the standard for companies needing a low or mid range solution. As with all MSFT products, it improves with each iteration. Our needs aren't high-end, but it handles our 300GB databases with 170 million row tables remarkably well.

    1. Re:MS SQL Server - Re:The defacto standard by tcopeland · · Score: 2, Informative

      > it is now the standard for companies needing a
      > low or mid range solution

      Is it?

      > it improves with each iteration.

      As does Postgres.

      > Our needs aren't high-end, but it handles
      > our 300GB databases

      That's a lot higher-end than where I'm at :-). But PG handles RubyForge - 180,000 records, about 20K hits per day - just fine.

    2. Re:MS SQL Server - Re:The defacto standard by Anonymous+Struct · · Score: 2, Interesting

      Right on target -- MSSQL isn't cheap, but compared to Oracle, it's looks really good. Lots of companies already have MS infrastructure in place, so slapping SQL Server in there is no problem at all. It's also honestly not that bad of a product for the low to mid range, which is where a lot of the money is nowadays.

      In my opinion, Postgres can, to a large degree, fill the same slot that MSSQL is filling now, but that just doesn't appear to be what's happening. Still, MSSQL does cost a pretty penny, especially if you're doing several installations. Perhaps as Postgres gets better, more people will realize that and make a switch.

    3. Re:MS SQL Server - Re:The defacto standard by RealisticWeb.com · · Score: 5, Insightful
      I know people are going to eviscerate you for saying that, but I have to agree with you. I have always been against most microsoft products, but I just can't lie to myself anymore when it comes to MSSQL. Enterprize manager is the best GUI I have ever seen for SQL management and it makes my job MUCH easier. It lets you pump out all the raw SQL you want to make queries, but you can also use a visual tool that has all the ease of use that access has, but with the enterprize power of MSSQL. And what about the installers! I haven't used Oracle in a couple of years, but I will never forget how much it sucked to try and get 9i installed. Nothing but a java installer! I HAD to put java on my db server or 9i wouldn't install, no command line option at all. How dumb is that? Another caveat, make sure the numlock key is on, or the installer won't work anyway. There was a big fat button that said "install", but didn't do a thing because we had the num lock off. Spent 12 hours on the phone with Oracle and they could't figure out what was wrong. We happened accross the bug report on their web page months later. MSSQL on the other hand? Never a probelm so far on any of the hardare that I have tried it on.

      No I don't work for MS, no I'm not in bed with thier marketing department, no I'm not afraid of the command line, etc. I just can't deny that it is a good product. In my opinion the best product MS has ever released, and much cheaper than Oracal.

      Granted, I still don't trust MS to be secure, so I never let it be internet facing. To get around that you let the web server be internet facing and only allow connections to the db from that one box. They would have to comprimise you from the inside first, or take control of the web server. And there is nothing stopping you from using Linux and Apache on that web server. We do the same thing with Exchange. I don't like exchange nearly as much as I like MSSQL but the VP's demand it so we just put it behind the firewall and relay all the outbound mail to a Unix-based mailserver in the DMZ.

      Unix security on the outside, MS useability on the inside.

      Go ahead and flame me now, I'm ready for you.

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    4. Re:MS SQL Server - Re:The defacto standard by RealisticWeb.com · · Score: 1

      For me the main thing that makes MSSQL so attractive is the visual tool Enterprize Manager. It ROCKS!! I know there is a simmilar tool for MySql that comes close. Is there anything like that for Postgres? Something that is NOT web based?

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    5. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0

      In my experience, MySQL is the standard for low to mid range solutions. (N.b. I am in Europe (Ireland))

      Yes, it DOES suck, and MSSQL is much better. But MySQL's cost can't really be beat.

    6. Re:MS SQL Server - Re:The defacto standard by Sokie · · Score: 2, Interesting

      pgAdmin II is somewhat similar.

      And pgAdmin III just reached beta and is purported to be quite a bit better (than II).

      --
      ------
      Where are the slash-groupies? I distinctly remember being promised slash-groupies!
    7. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0

      http://ems-hitech.com/pgmanager/

      Is the one i use.

    8. Re:MS SQL Server - Re:The defacto standard by Desert+Raven · · Score: 1

      Granted, I still don't trust MS to be secure, so I never let it be internet facing.

      One should not trust ANY database to be secure. There's really no good reason to let your database be exposed to the outside world.

      A company I used to work for got rooted through Oracle...

    9. Re:MS SQL Server - Re:The defacto standard by Malcontent · · Score: 1

      Oddly enough it's still not as good as pgaccess and still only half as good as mysql front.

      --

      War is necrophilia.

    10. Re:MS SQL Server - Re:The defacto standard by Malcontent · · Score: 4, Interesting

      MSSQL server is in a very odd place.

      It's not as scalable as oracle or db/2 but at the same time it costs 15K per processor which is a hell of a lot of money.

      Postgres has just about all the features (and more) of mssql server and it costs nothing. You can buy the EMS postgresql manager for a few bucks and it's much better the enterprise manager.

      BTW. The next version of postgresql will have world class replication the database partitioning.

      Honestly in the long run I don't see how people are going to justify spending 15K per processor on a database which only runs on windows, only works well with windows clients (the JDBC driver sucks and is slow as hell), has quite possibly the worst stored procedure language known to mankind. I work with it every day and every day it makes me want to poke sticks in my eye to distract me from the pain. Just today I got pissed because none of the string functions work against text fields (varchar only!). Postgres is so much more fun to work with.

      --

      War is necrophilia.

    11. Re:MS SQL Server - Re:The defacto standard by Malc · · Score: 1

      Really? 15K? We paid a LOT less than that for a 1 proc enterprise edition license last year.

    12. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0

      I'll install Java anyday on my server. But I'll never install Windows on it.

    13. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0
      I think he's talking about the internet per-processor licensing (if it's sat behind a webserver, it's 11k per processor).

      It is cheaper for internal use, but it's still more than free.

    14. Re:MS SQL Server - Re:The defacto standard by cannon_trodder · · Score: 2, Interesting

      No flames here! I like MS SQL server too but it does have it's own hidden depths of weirdness from time-to-time.. and I'd happily tackle a tough install of Oracle if the result was a db that actually had very few bugs.

      My personal favourite (in MS SQL) is the way it parses chunks of SQL looking for GO statements. If you've got the word GO in a block comment or in a string, it treats it as a legitimate instruction!

      PRINT CAST(@cnt AS VARCHAR) + ' RECORDS TO GO' ..gives an error that the string hasn't been closed.

      I'd rather not have to mess around with this sort of crap.

    15. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0

      GO is not a keyword in T-SQL...it's used by the tool you are running your query in (Query Analyzer?) to define the boundaries of a batch. The bug you are talking about has nothing to do with SQL Server.

    16. Re:MS SQL Server - Re:The defacto standard by chundo · · Score: 1

      When was the last time you tried the JDBC driver? For a long time, the "official" driver was only a beta. It's now a full release (SP1, actually), and I find it works very well on my Linux/Java webservers. If not, there are plenty of third-party drivers that work extremely well.

      And I have to disagree with you that Postgres is on the same level as SQL Server. I've got lots of experience with both also, SQL has proven itself both faster and more stable than Postgres. I'm not a Microsoft fan, but if there's one thing they got right it's SQL Server.

      -j

    17. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0

      I always hear people that like db2 or oracle say things like, "SQL Server is not as scalable as db2 | oracle", or "MS has a long way to go to catch up with IBM | Oracle".

      What a superb marketing job these companies have done. They have all these braindead people spreading this drivel without a clue what they are talking about.

      What _exactly_ about SQL Server is not scalable? What _exact_ feature in oracle|db2 makes them more scalable?

      On a positive note, PostgreSQL rocks, not because it is catching up with Oracle|SQL Server|DB2, but because you are free from licensing hassles and other non-sense you have to go through with commerical databases. It's a real drain on one's time to have to deal with that stuff. PostgreSQL seems to work fine for everything I've ever seen it used for. People should stop spending so much time arguing about which database vendor is better (they're all good!), stop reciting propaganda from these company's marketing departments, and worry more about the applications they are responsible for that use databases. That's where most of the problems are and where most time is spent.

    18. Re:MS SQL Server - Re:The defacto standard by Malcontent · · Score: 4, Interesting

      "SQL has proven itself both faster and more stable than Postgres. I'm not a Microsoft fan, but if there's one thing they got right it's SQL Server."

      I work with both every day. I don't know why you think they got SQL server right. Lots of lock escalation bullshit, weird locking semantics, goofy functions that only work on some text types and not others, 8K row limit, crappy SP language, the list goes on and on.

      Things you totaly take for granted on mysql or postgres trip you up on sql server.

      Try passing some XML out of a stored procedure sometime and then tell me how great SQL server is.

      --

      War is necrophilia.

    19. Re:MS SQL Server - Re:The defacto standard by gfilion · · Score: 2, Informative

      It's not as scalable as oracle or db/2 but at the same time it costs 15K per processor which is a hell of a lot of money.

      I don't want to defend MS too much, but last month we bought Small Business Server for about $1500. That included Win2k Server, SQL Server 2000 and a lot of other things.

    20. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0

      sorry bud, if you hit the web you owe 5000 per processor.

      1500 buck gets you the media and some client licenses.

    21. Re:MS SQL Server - Re:The defacto standard by Anonymous Coward · · Score: 0
      "Try passing some XML out of a stored procedure sometime and then tell me how great SQL server is."

      We do this all the time with SQL server. Most of our stored procedures return xml. I'm not going to say SQL server is spectacular, but ability to return xml from stored procedures is not an issue for us.

    22. Re:MS SQL Server - Re:The defacto standard by Malcontent · · Score: 1

      "We do this all the time with SQL server. Most of our stored procedures return xml."

      As long as that XML is never over 8K characters you are fine. Like everything else from Microsoft it works most of the time. You can't return text data type out of a stored procedure.

      You wrote all those wonderful stored procedures and one day your application will fail because the length of your XML will exceed 8K. The horrible thing is that you will get the first 8K and there will not be an error message.

      Good luck when that happens to you.

      --

      War is necrophilia.

    23. Re:MS SQL Server - Re:The defacto standard by Chacham · · Score: 1

      One thing is correct, it is hard to install.

      What you seem to be forgetting, is *who* is installing it. If you like to point-and-click, MS's product is far better. Though, their command line and remote tools are awful. Oracle, has a fantastic command line (SQL*Plus), there is no difference using it remotely, and for those people who want a GUI, a Java interface is provided, albeit awful.

      I have worked with both DBs. They both have their nice areas. However, Oracle is *far* superior. In process management alone, this is quite noticeable. Last project i was on with MS's product forced me to restart SQL Server almost daily, because processes kept dying, and would eat up resources, and the table only had about three million rows.

      There is a learning curve to switching. But, i think ultimately, it comes down to GUI over commandline.

  35. Interesting Business Strategy by Anonymous Coward · · Score: 0

    This looks like an interesting policy. They mentioned they are going to open source their products in two years. What it does is unless the other companies are innovative enough, they will be playing a catch up game with latest technology introduced by postgresql people.

    But if they are copy cat. They will have to fight with the *free* software since the related technology will be released as open source by then.

    So, freshness of technology wins ! Not the closely gurded dead old unix code.

  36. ok.. by tha_mink · · Score: 1

    But....but....but....it's easy and free.

    --
    You'll have that sometimes...
    1. Re:ok.. by Anonymous Coward · · Score: 0

      so is yo moma my friend, so is yo moma...

    2. Re:ok.. by tha_mink · · Score: 1

      What's a "moma"? You must mean my "momma" deek. Plus, my "momma" is not free, she's pricey bee-ach.

      --
      You'll have that sometimes...
  37. Sorry by Anonymous Coward · · Score: 0

    1. update a row in the master
    2. master replicates the update to multiple slaves
    3. clients perform select operations against the slaves (nice load balancing opportunity)
    4. the master crashes


    5. ???
    6. Profit

  38. Nice to see OSS moving forward by ajs · · Score: 3, Insightful

    So now we have two major OSS databases with 99% of the features that commercial offerings have, and lots of features that they don't (I'm a MySQL guy, so I know what those extras are for that database, but knowing OSS development paces, I'm sure the same is the same for PostgreSQL).

    I listen to folks at work talk about why we "need to move to a *real* database at some point", and it always comes down to the fact that they've bought into the marketting, and when they examine their reasons (if they are willing to), solutions like PostgreSQL or MySQL are a whole lot better choices than the "real" database choices out there.

    Bravo guys!

    1. Re:Nice to see OSS moving forward by Anonymous Coward · · Score: 0

      Except that MySQL *isn't* a real database ;)

      Try postgres. You'll like it :)

    2. Re:Nice to see OSS moving forward by glwtta · · Score: 1
      I know what those extras are for that database, but knowing OSS development paces, I'm sure the same is the same for PostgreSQL

      I love this! You are plainly saying that you have no idea what you are talking about, and then go on to make some useless generalizations - bravo.

      Postgres is a real database. All those features (almost all, in any case) that Oracle has and MySQL doesn't? Postgres has them. Good replication was one of the last major features that postgres lacked (good full text indexing is another).

      I love MySQL to bits for the stuff it's good at, and use it extensively, but you can't just write off all of its shortcomings when it comes to being an application database to "marketing."

      --
      sic transit gloria mundi
  39. Re:Terminate RDBMSs by AVee · · Score: 1

    And then watch the DBA break down and cry as the UPS fails during a blackout...

    Geez... Now what whould be the point of object prevalence? Perhaps the idea is to make sure the objects prevail, no matter what happens. Perhaps you don't know what you are talking about?

  40. Re:One step closer to Oracle... by jargoone · · Score: 0

    You're correct, and I think you saw my point, even though the crackhead moderators thought it was flamebait.

    To spell it out: It's nice that there is an open-source "database" that can actually be called a RDMBS. I realize that MySQL has its uses, and it wouldn't be so popular if that weren't the case. But the lack of features place it in a completely different category than PostgreSQL.

  41. The myth of transactions by ajs · · Score: 0, Troll

    I'm from an Oracle background, so I want to take this away from being about MySQL or any other DB. However, your statement about transactions really gets to me.

    I work hard when I write code that talks to a database to NEVER use transactions or rollback unless there is just no way around it (and while I've come up with some hypothetical situations where that would happen, I've never run into them in the real world).

    The problem with transactions is that they cultivate an attitude about your data which is very, very dangerous. I can't count how many reasonable-looking applications have caused untold damage because the developer stopped thinking about the consequences of their actions.

    By forcing myself to deal with those consequences manually by doing my own locking and my own data-integrety management, I find that I can rely on my data far more than most people can, and the likelihood that one of my programs is going to "go bad" and rip out whole transactional units just because an non-essential field was initialized oddly is much, much lower.

    Now, of course, going back to MySQL, you have the option today: do you want to use transactions? If so, your schema will reflect that, and you'll take the performance hit that everyone else does when you enable them. I never do, but you're welcome to. That's what software should be all about: giving the user all of the choices they need.

    All that said, I love PostgreSQL, and I hope that both databases continue to kick the commercial databases' butts for decades to come!

    1. Re:The myth of transactions by Anonymous Coward · · Score: 0

      It must be very pleasant working on hardware that will NEVER fail.

      The point about transactions isn't that it encourages lazy programming but that it can isolate multiple updates until they are in a position to ALL succeed or ALL fail. All of the careful coding in the world cannot guarantee that situation.

    2. Re:The myth of transactions by ajs · · Score: 1

      You are incorrect, and if you think about it, you'll realize that it's very simple to make sure that changes you make only have an effect on the state of your data once they are fully integrated.

      One of my favorite ways to do this is with a table that consists only of a primary key and a "dirty bit". It makes my work harder, but the number of places that you make lots of changes that all depend on eachother SHOULD be low. If that's the case, then the complexity that managing this state information adds will not be too painful, and actually makes you THINK about your data.

      When you select data of of your database, you just make sure that you don't pull any data that's dirty. I've done this many times, and it keeps my eye on what I'm actually doing and why those changes matter to eachother. That alone as saved me hours (perhaps days) of debugging.

    3. Re:The myth of transactions by eakerin · · Score: 1

      The increased load of checking this bit constantly is faster than the load of using transactions?

      What about the decrease in code maintainability?

      Also, what about updates to rows, if you insert a new row it's easy to mark something as not ready, but if you're changing multiple pieces of data, transactions are almost the only way to go, otherwise you have to manually implement rollback into your code, which at that point, who's not to say you don't loose the connection, or the DB shuts down at that exact moment.

      Transactions aren't that hard to work with, (Gee this depends on something I did above, I better wrap it in a transaction.) That combined with Row Level locking, you should rarely, if ever run into a deadlock.

      Sorry, but me being a DBA, you just struck a cord with this one, You implemented a semi-cleaver hack, on top of something that you should have abstracted to the database, in the name of a performance increase you probably didn't need. If a developer where I work submitted a new schema that used that method without a REALLY good reason, It would never make it to a production server, the data just couldn't be trusted in the case of a failure.

    4. Re:The myth of transactions by Anonymous Coward · · Score: 0

      Now *that's* a good way to get your data into an inconsistent state. Consider this:

      UPDATE dt SET dirty=1 WHERE key='foo';
      -- OK, now the record is marked dirty...
      UPDATE phonenumbers SET phone = '123-123-1234' WHERE key = 'foo';
      UPDATE addresses SET address = '123 4th St.' WHERE key = 'foo';
      UPDATE addresses SET zip = 12345 WHERE key = 'foo';

      Now, just before you update the zip code, the server barfs. What happens? Your record is still dirty, and the address and zip code are inconsistent. Now you have to select out each dirty record and manually figure out which parts of the update have been applied.

      With transactions, there would have been no changes to the table and the data would still be consistent.

    5. Re:The myth of transactions by ajs · · Score: 1

      You're reaching for a problem. Suffice to say that I've been doing this for years, and in those cases where I care, I do this and it works just fine, and plenty fast enough. YMMV

      Everywhere else, I structure my data so that atomicity on a statement level is all that I care about.

    6. Re:The myth of transactions by ajs · · Score: 1

      Yeah, that would be a mistake. I suggest not doing it that way.

      Honestly, has no one ever written code like this? I cannot be the first person on the planet to have decided that letting the system decide how I might want to approach data integrety was a bad thing....

    7. Re:The myth of transactions by Anonymous Coward · · Score: 0

      A dirty bit just doesn't work. What happens if the hardware fails when you're in the middle of updating the dirty bit to clean??

      How does a single bit help in a multi-user environment??

      The point is that transactions are fundamental to providing multi-user atomic actions. Anything else will fail at some point or another and developers who try these techniques merely demonstrate their lack of understanding about database development.

    8. Re:The myth of transactions by shakah · · Score: 3, Informative
      I work hard when I write code that talks to a database to NEVER use transactions or rollback...
      In all seriousness, what do you do when *multiple* applications interact with your database information (never mind just multiple users)? Do you "code" your hacks into every application? What do you do when you don't control the code of the other applications (e.g. third-party apps interact with the same tables)? How do you handle replication?
    9. Re:The myth of transactions by WNight · · Score: 1

      > I structure my data so that atomicity on a statement level is all that I care about.

      So, you throw away the R in RDBMS, just for a small potential performance gain. You then hack at basic transaction features. You don't have atomicity, but you have a way of telling if you've screwed up a record.

      But then what? What if you do screw up a record? Do you have a query that runs at startup and goes and deletes these now unsafe records? Is it okay that you've mangled a record (ie, dirty bit set, data may or may not have been written)? These can't be important records then. Not customer data or anything.

      You'd be better off taking the money that pays for this extra, wasted, coding and simply buying a slightly faster CPU, or more RAM, if you feel speed is an issue. That way you'd get the safety of transactions. You could also use the relational aspects of the database and make your queries run a *lot* faster. (You can't index properly (quickly) between tables unless they're keyed with a a real foreign key, not just the same piece of data in both tables but unlinked.)

    10. Re:The myth of transactions by slamb · · Score: 2, Insightful
      One of my favorite ways to do this is with a table that consists only of a primary key and a "dirty bit". [...] When you select data of of your database, you just make sure that you don't pull any data that's dirty.

      So when data are in the process of changing, they just don't show up in queries? That's horrible. And what happens if the system goes down in the process of changing? You can't roll back; the old data are lost. And you have to manually go in and clear the dirty bit for the broken, half-new data to be even remotely accessible. Or code logic checking for this everywhere, which would be a nightmare of duplicated, unnecessary code.

      With this method, you will eventually run into a case where you will have to pull an old backup because a transient failure caused your stupid method to corrupt a lot of data. Transactions are pretty much essential to ensure correctness; you'd have to reimplement the transaction system to get its guarantees, and it's much smarter to use the one that's already there and tested.

      And what about procedures that need a consistent view of the database? There's more in ACID than the "A". Transation isolation is necessary for a lot of applications. They can ensure that multiple queries were run on the same set of data.

      If people aren't thinking about their data and doing stupid things, that's entirely separate from their using transactions. There are methods for rigorously proving that your transaction use is correct. I strongly recommend to you that you study them. You sound like you care a lot about correctness. You're not achieving it at all now. If you used transactions, you could.

    11. Re:The myth of transactions by Troll_Kamikaze · · Score: 2, Insightful

      By forcing myself to deal with those consequences manually by doing my own locking and my own data-integrety management, I find that I can rely on my data far more than most people can, and the likelihood that one of my programs is going to "go bad" and rip out whole transactional units just because an non-essential field was initialized oddly is much, much lower.

      And since your ad hoc locking and transaction management code never contains bugs (unlike the piddly implementation in the RDBMS that's only been tested by millions of users), everyone lives happily ever after.

    12. Re:The myth of transactions by WNight · · Score: 2, Interesting

      No, you aren't the first. And yeah, any SQL coder knows what you'd have done. Keep all the data that must change together in one table and use a single update statement to change it, relying on the fact that individual statements are atomic.

      That way, if you were changing someone's address, and phone number, you'd be sure to have a valid address, and a valid phone number. They might be out of sync, but then you'd have a dirty bit to indicate it.

      It's pretty easy to do this, with minimal risk, on inserts. If you get into deletes you can quickly end up with addresses for clients who aren't in the DB anymore and so on.

      However, the risk, while minimal, is there. This is an okay idea for goofing around on your website where all you lose is a link to a new picture or something, but is totally unacceptable for a commerce site.

      However, you attitude is/was common. I used to see it in the context of people putting inline assembly in their C code. Whenever they knew a clever trick to save a cycle or two they'd use it. The silly thing is that compilers are usually better at the silly tricks. Compilers could use the LEA instruction to perform basic integer multiplication just as well as people (and did, when integer multiplication was slow and cycles mattered). Now, we're not all using the same CPUs as we were back in the 486 days. What's a quick thing on an Athlon might save work on a P4, and might hurt performance on a P3. Too many variables to keep in your head, and too ugly of code, for the incredibly minute gains. Especially since people didn't profile their code before going and optimizing it.

      Now, the "proper" thing to do is write the cleanest code you can and let the compiler have a shot. If it runs too slowly, consider throwing more CPU at it. If that fails, profile it and try to fix it with a new algorithm, only after all that, go in and hand-tweak certain sections.

    13. Re:The myth of transactions by pHDNgell · · Score: 1

      Honestly, has no one ever written code like this? I cannot be the first person on the planet to have decided that letting the system decide how I might want to approach data integrety was a bad thing....

      Yeah, I think you might be alone here. I cannot imagine how I could safely update records in my database safely without transactions. It's not unusual for me to have 25 or so dependent queries from eight application servers (plus external sources) that absolutely must be done atomically. No amount of coding at the application level could get this done safely.

      RDBMS theory works, and people spend a lot of time at that layer making it work so you don't have to.

      Similarly, filesystems work, and people spend a lot of time at that layer making it work so you don't have to (but you wouldn't be the first person to use a raw partition on a UNIX system thinking you could do better than a filesystem).

      --
      -- The world is watching America, and America is watching TV.
    14. Re:The myth of transactions by AJWM · · Score: 1

      When you select data of of your database, you just make sure that you don't pull any data that's dirty.

      To reiterate what an earlier poster asked -- how do you stop somebody else from pulling dirty data?

      If you and your app are the only client the DB has, that might be okay. It's hardly a general solution though.

      --
      -- Alastair
    15. Re:The myth of transactions by nettdata · · Score: 1

      Dude-

      As a long-time Oracle user, developer, and DBA, I can say that I think you are misguided in this attempt.

      In essence, in a few (relatively) short lines of code you are attempting to replace that which Oracle has spent many years developing and proving in thousands of installations.

      Your "lack of faith" (for lack of a better term) of Oracle's transactional capabilities, in my opinion, is misguided. As well, your implementation has integrity and performance concerns. (Mind you, if you're doing small, uncomplicated apps, it might not be that big of a deal, but if you're using Oracle, then I'm assuming that it IS an issue).

      Your implementation will not have the capabilities or features of Oracle's implementation (distribution, fault-tolerance, high availability, performance, etc.), is open to potential data corruption due to failure, and it will take much longer to develop the application. You say you work hard on the implementation, but I'm thinking that you're working TOO hard.

      Also, transactions and rollbacks are a great tool if/when used appropriately.

      --



      $0.02 (CDN)
    16. Re:The myth of transactions by Anonymous Coward · · Score: 0

      Yes. it is a Bad Thing.

      There are several reasons why it's a Bad Thing.

      1) You simply don't have to. 1000's upon 1000's of man hours have been invested into the system specifically to relieve this burden from you the developer.

      2) The system is doing it anyway. Like it or not, internally the system is taking advantage of transactions. It has to. Transactions are how the system ensure things such as when you add or update a row, all of the tables indexes are appropriately updated. That is an inherently non-atomic operation, and the system will leverage its transaction facility to pull it off. This means that even though you're not using the facility, the system is anyway, so you don't even gain any performance doing it yourself.

      3) By not using the systems facility, you're reinventing it, and at the wrong layer. A database facility implemented at the application level. For example, the price that must be paid in complexity to ensure the saving an order, it's detail, and its item commits against inventory boggle the mind. At any point you can have a failure changing any of those tables, changing any of your own "log" tables, any of your dirty bits, etc. The ramifications are that if a single client computer fails during process, your application must perform, essentially, an application level fsck. Balance inventory, balance the orders, balance customer history, etc. What an absolute nightmare. What a complete and utter waste of your time, and especially your clients time when they have to recover.

      Back In The Day of using simple ISAM databases where you had to update not only your own rows, but each individual database, you had no choice but to go to this level of complexity. If you had a specific application where an RDBMS was simply too slow (as in a high volume real time data operation), then that may warrant this kind of complexity, but only because you're forgoing the use of an SQL RDBMS in the first place.

      But for 99.9999% of applications today, transactions are a complete a total God send. An Angel from above and you really should rethink your strategy, and learn to work with them. Life is too short, machines are too fast and technology too good to waster your time fighting them.

  42. YHBT. by Dog+and+Pony · · Score: 0, Offtopic

    YHL. HAND.

    1. Re:YHBT. by Anonymous Coward · · Score: 0

      Lol, "Off topic"? So nobody got it! *Big grin* This made my day. :D

  43. Funny, maybe, but not insightful! by mangu · · Score: 0, Flamebait
    No matter how much people despise MS SQL Server, nor how much they over rate Oracle, it is now the standard for companies needing a low or mid range solution.


    MS marketing says the same about IIS, right?


    As with all MSFT products, it improves with each iteration.


    Wow, Bob 7.3 must be awesome!

    1. Re:Funny, maybe, but not insightful! by MemeRot · · Score: 1

      What's your beef with SQL Server? I worked with Sybase for years, and SQL Server is much better. As soon as the two of them split, every decision Sybase made was the wrong one. Replication and data transformation is dead simple in SQL Server. If it can handle a 300 gig database, it's more powerful than I'll ever need. It's easy to maintain with utilities like the SQL Profiler and the index tuning wizard. I'm not a DBA, and with SQL Server I don't need to be. Yeah, yeah, yeah, Microsoft shill, whatever....

    2. Re:Funny, maybe, but not insightful! by glenstar · · Score: 1
      Agreed. MSSQL is far and away the best product MS makes. I have used it many times in mixed Windows/Unix environments, and while you do have to coax it into playing nice with non-MS clients, once you do it rocks.

      That being said, nowadays I tend to use MySQL for a simple datastore (eg, limited writes and light reads) or DB2 or Oracle for heavy duty work. All of the above three could learn a thing or two about user friendliness... I especially like DB2's error messages: "Err 560: DB2MAN" (made up error message, but representative of the cryptic shit DB2 throws out).

      I am about to start some work on Postgres again after a couple of years away from it. I am glad to see it has progressed.

  44. Re:Terminate RDBMSs by Anonymous Coward · · Score: 0

    Perhaps you don't know what you are talking about?

    That's by far the best example of the pot-kettle phenomenon I've ever seen.

  45. MySQL and PostgreSQL Compared by teko_teko · · Score: 2, Informative
    1. Re:MySQL and PostgreSQL Compared by messju · · Score: 1

      and here is Open Source Databases: As The Tables Turn


      same site, same author different opinion.

  46. Re:IANADBA (a dba's opinion) by kpharmer · · Score: 3, Interesting

    I've got about 17 years experience with RDBMS', covering oracle, db2, postgresql, sql server, etc. So....

    Postgresql looks like it's better positioned to eat SQL Server's lunch than oracle's to me. First Off, back in the day (3 years ago), when oracle was licensing by 'power unit' - it cost about $1000 / CPU / Mhz. So - a single CPU license for a 1-ghz machine would set you back $100k! Since then they've had to drop prices - because of the market, and because of DB2 - which is far less expensive.

    Anyhow - if you're going to invest a cool million or two in a top-end, enterprise box - a Sun E10K or an IBM Regatta - then you don't rig up some cheap AC solution, use surplus wiring, or a free database on it typically. You put Oracle or DB2 on it. Sure - Postgresql is fine database and it'll save you some bucks, but when you're putting your reputation on the line and have build a business case that justifies (say) $2m in hardware, and probably $4m in labor - it's foolish to try to save $1m on oracle by going with postgresql.

    Without *any* support for parallelism, without stronger replication, without better 3rd-party support (think of Toad for instance), without thousands of experienced develpers & dbas out there, without more robust availability functionality - it simply isn't ready to tackle the biggest projects. Or those projects with extremely high availablity requirements. Or relatively large reporting projects (no parallelism). Or just about any projects in a really dedicated single-vendor shop with its act together.

    But that's ok - that leave 30-50% or so of the other database work that it can do just fine right now. That's a huge market. And unlike mysql - if your construct a database application using postgresql and then later want to port it to oracle, db2, or sybase - it's just a normal porting of the application. You construct the architecture in just about the exact same way (for most applications anyhow), so the porting is straight-forward. Not so in the case of mysql - where it's severe limitations result in applications doing a ton of the database work - and porting ends up being a complete rewrite.

  47. PostgreSQL vs MySQL by mnmn · · Score: 5, Insightful

    Even though the article is about an improvement in the PostgreSQL community, the comments are mostly pgsql vs mysql. People in the bazaar need to have personal motivations to work on opensource projects, mostly to have something against Microsoft, but increasingly, it is becoming a series of team wars. Linux vs BSD, then we had KDE vs GNOME and now qmail vs postfix and mysql vs pgsql. More than a decade ago we had vi vs emacs and BSD vs SYSV.

    What the posters here need to realize is that it is exactly this competition that is driving the projects. If MySQL was not given the press and did not have its cult following, we would not see this pace of development for pgsql. The developments for FreeBSD really improved to compete with Linux although their developers claim they are not competing... they do have the fear Linux will supplant them.

    What is interesting to note is that in most of these project wars, both projects really survive and get two different niches of their own. This was true of bash vs csh, BSD vs SYSV, BSD vs Linux, KDE vs GNOME, and now MySQL will become the standard entry level database and pgsql the higher level.

    I use pgsql because my databases have complicated requirements that MySQL cannot meet. Yet MySQL is the quick and dirty solution when I have to set things up fast. For all new learners I always suggest MySQL. For people thinking of replacing or duplicating their ERP systems, I always suggest pgsql. I even know how to program in sleepycat's db and know where it should replace mysql in smaller embedded systems and where the mysql license cannot be used.

    I believe this competition is coming to a close since pgsql has taken a big lead over MySQL in features, and therefore made itself more difficult to deal with especially for newbies. All I can say about the postgresql replication is bravo, and hope MySQL doesnt follow suit so it remains the simple fast and easy database in its own niche.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:PostgreSQL vs MySQL by Anonymous Coward · · Score: 0

      Rand would be proud, son. Personally, cooperation gives me the encouragement to produce a better system, and competition inspires me to give up. Why the hell would I want two mutually exclusive products doing a different set of tasks when one product could do them both?

    2. Re:PostgreSQL vs MySQL by Anonymous Coward · · Score: 0

      Linux vs BSD, then we had KDE vs GNOME and now qmail vs postfix and mysql vs pgsql. More than a decade ago we had vi vs emacs and BSD vs SYSV.

      Don't forget GRUB vs. LILO!

    3. Re:PostgreSQL vs MySQL by pHDNgell · · Score: 1

      Two comments:

      First, I don't think the postgres team really considers mySQL competition. I.e. they don't need to look at what they're doing because they're behind in pretty much every area.

      Secondly, you mentioned that you suggest mySQL for all new learners when it deviates from the SQL standard in many areas. Why do you feel that mySQL is an appropriate learning tool?

      --
      -- The world is watching America, and America is watching TV.
    4. Re:PostgreSQL vs MySQL by WNight · · Score: 1

      The reason would be that one project can get stuck at a dead-end. They can make a bad design decision that limits their ability to grow past a certain problem.

      Ideally, two projects will have two sets of methods and will get stuck at different points.

      What you need though, is sharing between the two. No sense implementing two sets of GUIs for a database where the GUI is an add-on. No sense rewriting something from scratch, as when you method failed, and the other project has code that does exactly what you need. Yet, you both can believe that the best way to implement transactions is completely different and either there are two (or more) good ways, or time will tell which is right.

      In other words, friendly competition where people will share when requested, will produce good long-term results in a field that needs research (a field where we don't *know* the best methods yet). In other words, friendly competition is like biodiversity. Each can have its strengths and a little inter-breeding can keep everyone healthy. Plus, competition can be fun if you don't let it rule you. It's like Marines and Army are always competing in every way, except when faced by a real enemy.

      Randian, intensely capitalism, short-sighted, shoot-self-in-foot-out-of-spite-rather-than-share- a-single-thing, kind of competition of course produces a thousand overlapping projects which all have to succeed or fail on their own. The state of the art advances very slowly because nobody learns from anyone else's mistakes. (Yet, Randian characters all make full use of the science of their days, which was developed in a cooperative society... Hmmm)

    5. Re:PostgreSQL vs MySQL by mnmn · · Score: 1

      I can sense your bias towards PostgreSQL.

      Now the PostgreSQL team doesnt consider MySQL competiton, but their supporters either DO consider it competition at least in the newbie market or just enjoy bashing MySQL.

      I suggest MySQL to new users because it is simple to setup the first time. You dont have to go create a seperate database directory structure, fewer commands to initialize the database and the command lines need fewer arguments for the very first database for the joe user. I remember learning MySQL and PostgreSQL so I can claim that from my experience as well as many friends and foes online and in school.

      Now you cannot ask a newbie who basically wants to learn SQL commands by practice, to install Oracle on a Solaris partition on an enterprise server, load balanced with other servers, to start learning SELECT, INSERT and CREATE TABLE constructs. Yes I know PostgreSQL is wonderful which is why I learned it and switched my demanding applications to it, but when I was starting out, I snooped around for the SIMPLEST and not the BEST, which included mSQL and MySQL.

      I am currently distance-training 3 friends for web applications using PHP and MySQL on Linux. I cant wait to tell them about Websphere using DB2 on AIX on my RS6000, and running PostgreSQL under FreeBSD on my Sun Ultrasparc, but I need them to learn in a month and not be demotivated because they cannot start up the database the first day.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    6. Re:PostgreSQL vs MySQL by pHDNgell · · Score: 1

      I can sense your bias towards PostgreSQL

      My bias is towards correctness and standards.

      I suggest MySQL to new users because it is simple to setup the first time. You dont have to go create a seperate database directory structure, fewer commands to initialize the database and the command lines need fewer arguments for the very first database for the joe user.

      I don't quite understand this. It's make install, initdb and then you start it. It's probably a good idea to run a createuser and createdb as well. Installation isn't complex enough to be relevant. It's straightforward and done once.

      As far as connecting, what are all of these commandline arguments you're referring to?

      rubik:~ 502% psql
      Welcome to psql 7.3.4, the PostgreSQL interactive terminal.

      Type: \copyright for distribution terms
      \h for help with SQL commands
      \? for help on internal slash commands
      \g or terminate with semicolon to execute query
      \q to quit

      dustin=#

      Now you cannot ask a newbie who basically wants to learn SQL commands by practice, to install Oracle on a Solaris partition on an enterprise server, load balanced with other servers, to start learning SELECT, INSERT and CREATE TABLE

      Postgres is similar in Oracle in operation, not installation. This is a bad example, however, it leads to my point...there are many elements of select that will be unavailable, and there are plenty of things you have to learn the mySQL way which is just stuff that has to be unlearned when you proceed to something else.

      I've not seen anything about mySQL that is any easier than postgres, but I'm open to specific examples so I can understand why people would want to use mySQL.

      --
      -- The world is watching America, and America is watching TV.
  48. Re: Excellent... not quite... use FIREBIRD by JThaddeus · · Score: 3, Interesting

    PostgreSQL still needs better transaction handling before I'd call it ready for prime time. I found its limitations the hard way, attempting to port 13K lines of Oracle Embedded SQL. Imagine transaction A searching a database. Now you want transaction B to do something. It might be just two user queries open at the same time or one transaction reading one table while the second writes to another table. All well and good until one transaction closes. Then all transactions close! That just plain sucks.

    However, I was able to port the entire application to Firebird--IMHO a far better database.

    --
    "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
  49. Re: Excellent... not quite... use FIREBIRD by Dan+Ost · · Score: 1

    two questions:

    Is it a bug or just a known limitation?

    Is this still an issue with current version?

    --

    *sigh* back to work...
  50. And if something goes wrong? by MemeRot · · Score: 1

    What if your network connection flakes out for a second? Then what? That's why there is such a thing as replication, for all the times when simple copying doesn't work for some reason - there needs to be extremely thorough error handling and methods for getting the data back in synch.

  51. IAAEDBA Re:IANADBA by vt0asta · · Score: 4, Interesting

    This is like shooting fish in a barrel. I often don't like to harp on the OSSDB fanboys, but Oracle's database solution is second to none, and continues to pull away from the pack.

    First things first. Online replication is generally considered by professional DBAs a fools errand. You have to babysit and it fails at the drop off a hat for a variety of reasons. The are no good reasons to do replication in the manner they are talking about, unless that is your ONLY option.

    There are however, reasons to replicate data. The reasons you want data replicated are usually for one of two reasons: availability or scalability.

    To address availability Oracle provides several options that are just plain better than regular/triggered snapshot logging or materialized view refreshing over a network.

    The best option is Oracle's Dataguard, which applies redo/archive logs to a duplicate remote databases. You can perform this option at the logical and at the physical level, and you can choose to maximize/guarantee the protection all the way down to best effort. This option provides the ability to have an absolutely current very warm site, a simple command and you're database is up and running.

    As for scalability, again Postgres or mysql doesn't hold a candle. There are too many options to list, so I'll discuss the big ones.

    Paritioning/sub-partitioning of data. The way Oracle lays out it's logical database block layer and physical OS block layer is absolutely perfect for being able to do anything you want with the database file layout. I can put my OLTP indexes and tables on fast raid10 devices, the historical and warehousing data on raid5 devices, but that's not all. I can increase parallelization of the hardware by putting a single table or index across N devices. The ability to sprinkle files and chop up data anywhere you want, is just one thing that makes Oracle configurable, scalable, and great.

    Real Application Cluster (was Oracle Parallel Server). This is a for REAL clustering solution. Oracle allows several servers (can be dissimiliar in capabilities, i.e. some can have 64gig of memory and 12 processors, and then the others could be smaller dual processor machines.) to connect to the same storage (usually shared over a SAN or SCSI direct connect to EMC gear). Each of the servers is connected to a crossover/ipc LAN (we use gigabit) and now each of the servers has access to the same data. One node goes down or needs to go down for maintenance or reconfig, that's ok, the other nodes are online and traffic can be configured to automatically transfers over to the other nodes MID-TRANSACTION and picks up where it left off and the application is none the wiser (i.e. happens in seconds). The nodes share cached data over the fast network, so there is often little need to go to disk. This kind of scalability can not be found on any other database.

    <rant>
    The real gain for OSS and Oracle, is Linux and Oracle running on Linux. OSS databases are too immature to be let anywhere near real money. I'm not talking about ecommerce money, I'm talking about the millions and bajillions of dollars that flow like water through companies. Linux has Oracle validation and certification, which goes a LONG way in getting Linux into the real datacenters. The price point for the hardware, and the OS and the special deals that Oracle cuts for it are the true win for OSS. The performance is more than there for Linux/Intel solutions, and the price point for Intel hardware is very attractive to companies looking to cut expenses. You still have to pay homage to the Oracle and EMC gods, but even they have felt the crunch, and they too are providing competitive price points.
    </rant>

    So Postgres is one feature closer to what Oracle was several years ago. So what, this is embarassing. Mysql has had transactions for how long? a few days? Please people, Oracle is not resting on it's laurels waiting for anyone to catch up. They have real companies, with real money, that are real threats to them. IBM and Microsoft. Oracle, is pushing the edge on the database front, and doesn't show any signs of stopping.

    --
    No.
  52. Which gets most support contracts? by totierne · · Score: 1

    Support contracts would seem to be a good way to gauge enterprise use and give some idea where the money^h^h^h^h^h I mean where people were putting their attention, and 'voting' in a way for better future releases. Support experience should ideally trickle back into new releases.

  53. you're kidding by MemeRot · · Score: 1

    It didn't have row-level locking before? Okay, I can see that. But it didn't have FOREIGN KEYS??? And people used to bristle whenever someone suggested it wasn't a real database....

    1. Re:you're kidding by Anonymous Coward · · Score: 0

      I have 3.51 and it has foriegn keys..

    2. Re:you're kidding by Ded+Bob · · Score: 1

      I believe 3.x of MySQL does not support foreign keys (other than just the syntax). It would just accept the keywords. 4.x is where true support was added.

  54. Re:Terminate RDBMSs by johnnyb · · Score: 1

    This wouldn't affect RDBMSs at all. Object prevalence is very fast, but the hierarchical databases before RDBMSs were very fast as well. The reason that RDBMSs took precedence was not speed, it was data integrity and data manipulation. It still has these advantages. If you just view an RDBMS as a bit-bucket, you should have just used hierarchical databases all this time, as they are much faster.

  55. Re: Excellent... not quite... use FIREBIRD by JThaddeus · · Score: 1

    It is a limitation with PostgreSQL 6. I thought at first that I must be doing something wrong. Then I found Postgresql: Developer's Handbook by Ewald Geschwinde, et al (published by SAMS) at a local B&N and looked up transaction management. It spelled out the bad news in a way the PostgreSQL docs only hinted at--sure enough, you can't independently manage transactions. Close one and you close them all.

    I haven't heard of anything being done to add this capability to PostgreSQL 7. I hope someone puts it on top of their list. There were things I prefered about embedded SQL with PostgreSQL vs. Firebird but PostgreSQL's limited transaction management killed all my work with it.

    --
    "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
  56. Re: Excellent... not quite... use FIREBIRD by einhverfr · · Score: 1

    It is a known issue. However, nested transactions are currently being worked on...

    --

    LedgerSMB: Open source Accounting/ERP
  57. Re:Flash vs. SVG by TheViewFromTheGround · · Score: 1

    Mr. or Ms. Coward is on to something here. Competition drives open source development teams, but, ideally, the competition doesn't drive them into head to head battles in the end, but drives them into different niches.

    For my part, I run a site on top of MySQL. I started using it as a newbie to Linux RDBMSes. It's never going to be so big that I'll need to run anything else. However, I've got a new project on the horizon where Postgres is the perfect solution. The best thing is that in a Linux environment, there's much less lock-in than in other environments, so you aren't forced to be a partisan about things like this.

    --
    Online citizen journalism from the inner city: The View From The Ground
  58. Shameless Plug by jpmorgan · · Score: 1
    This is another project that aims to provide .NET (i.e., C#) stored procedures for PostgreSQL, using the Mono runtime.

    Not functional yet, but heh, every project's got to start somewhere. </shameless plug>

  59. Places SQL Server can never go by emil · · Score: 4, Insightful

    SQL Server will never run on any version of UNIX. AFAIK, there aren't even (MS-supported) SQL Server client libraries for non-windows platforms. I realize that FreeTDS is available, but such a library would never be used in a highly critical sector.

    If you have to integrate multiple platforms, you cannot use SQL server. Closest similar product is Sybase ASE, but Microsoft broke Sybase compatibility on purpose.

    I think if people understood how irrationally obstinate SQL Server's platform dependence was, they would look elsewhere. I hope that this attitude holds them below 10% penetration - it certainly has up to now. They are a bit player.

    In any case, there is a cheap, new version of DB2 out for $500/copy.

    1. Re:Places SQL Server can never go by Anonymous Coward · · Score: 0

      I realize that FreeTDS is available, but such a library would never be used in a highly critical sector.

      Hi, we use FreeTDS to interact with several state agency systems, including the Secretary of State. A fair amount of our transactions are considered to be "highly critical". We have, however, had to spend a few months hacking FreeTDS to get it up to speed with MSSQL. Of course, the State IT shop here is all about Microsoft, so we had to integrate with their backend systems.

  60. One thing I *DO* like about Oracle.... by mark-t · · Score: 1
    ... is the fact that you can write stored procedures in Java.

    Way cool.

    However, the only other RDBMS's to do this (to the best of my knowledge) are all closed source or otherwise very much non-free.

    1. Re:One thing I *DO* like about Oracle.... by Anonymous Coward · · Score: 0

      one can use perlin pgsql

      now that's cool for i has great regex capabilities

    2. Re:One thing I *DO* like about Oracle.... by pHDNgell · · Score: 1

      See also: http://pljava.sf.net/

      --
      -- The world is watching America, and America is watching TV.
    3. Re:One thing I *DO* like about Oracle.... by puppetman · · Score: 1

      I'm an Oracle DBA, and I've written stored procedures in Java.

      There are a few benefits - as I'm also a Java developer, it's nice to work with one language.

      But you have to create PL/SQL stubs, and you can't write triggers in Java, and the JVM is big and takes up alot of space (memory), and it's hardwired into the Oracle database so can't be upgraded, and it can take 2-3 seconds to initialize if it hasn't been called, and...

      Lots of bad things; cool idea; better to use FirstSQL, a database written in Java that gives you both RDBMS and OODMS (I'm not affiliated in any way with the company)..

  61. Oracle for development is free by Anonymous Coward · · Score: 0

    All oracle tools are freely downloadable from the Oracle website

    http://otn.oracle.com/software/content.html

    1. Re:Oracle for development is free by DrXym · · Score: 1
      Thanks for that! I looked around for about half an hour but completely missed this.


      Still, I guess I learned a lot from going with PostgreSQL so I'm not too upset.

  62. You know there can be more than one. by LWATCDR · · Score: 3, Insightful

    This is not Highlander there can be more than one.
    MySQL is a good solution for some tasks. Postgres is a good solution of some other tasks. I swear people are so odd. There can be room for more than one OS, Database, Office Suite, and CPU. I really like Postgres and use it for our in house database. I use Mysql for our website's database. Why? because it is what our ISP provides and it works.

    How about this... Learn Both.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  63. Embedded SQL? by AJWM · · Score: 1

    Does mySQL have an embedded SQL preprocessor yet?

    Until it does, my C-with-embedded-SQL code will contine to run fine with Postgres, Oracle, Sybase, DB2 and other real datatabase servers, but not mySQL.

    (Okay, there are a couple of very minor differences between some of the above, in particular slight variations on the EXEC SQL CONNECT syntax between Oracle and Postgres, but that's easy to code around. The rest is the same.)

    --
    -- Alastair
  64. Compitition by WindBourne · · Score: 3, Insightful

    I find it funny that so many journalists always say that KDE/GNOME or Postgres/MySQL should be stopped and only 1 solution should be allowed. Yet, at the same time, they quickly point to all the different applications in the windows space.
    Myself, I use Linux/KDE/pgsql ~ 95% of the time. But there are times where I like BSD (awesome security), Gnome (i like their simple interface and their apps are nice in a number of areas), and Mysql (want a fast mostly read DB? Nothing beats Mysql in the true relational arena (dbm/gdbm/sleepycat can for simpler relations)).
    Lets hope that real compitition never stops.

    --
    I prefer the "u" in honour as it seems to be missing these days.
    1. Re:Compitition by WindBourne · · Score: 1

      Competition

      I will be very happy when a spell checker comes to konqi :)

      --
      I prefer the "u" in honour as it seems to be missing these days.
  65. Don't let Postgres die or GPL vs BSDL by axxackall · · Score: 1
    My only hope is that PostgreSQL, which is a much superior product to mySQL, will get the publicity it richly deserves.

    My only hope that someone in PostgreSQL Inc will read what you are saying. Postgresql ORDBMS needs the same hype as Linux already got. otherwise, sooner on /. we'll see stupid comments "Postgresql is dying" in a same style as they are posted about *BSD.

    Seriously, BSD is not that bad, but why it is not that popular as Linux? B/c there is no virtually any publicity around it. Say "open source operating system" to any boss, the reaction will be "Linux?". Now say "BSD". The answer will be "BS-who?". In a same way if you say "open source DBMS" to any boss, the reaction will be "MySQL?". But if you say "Postgresql" the reaction will be "Postgres-who?".

    I understand that for piblicity PostgreSQL Inc needs money, and the only way to get a big money is to make PostgreSQL to be interesting for big software corps, like IBM or HP. Why IBM has chosen Linux vs BSD to support? B/c BSDL doesn't protect their source code cotributions. Here might be a key: the license. Perhaps PostgreSQL Inc should reconsider their BSDL license. Well, that might be impossible as most of their core team hate GPL (that's why they usually hate Linux).

    --

    Less is more !
    1. Re:Don't let Postgres die or GPL vs BSDL by Anonymous Coward · · Score: 1, Insightful

      Uh... IBM used BSD for YEARS before Linux.

      It's called AIX.

      They're now pushing Linux because it's buzzword-compliant.

      Likewise, Apple seems to be having no problems protecting their source with MacOS X...

      It's not the license. It's the hype.

    2. Re:Don't let Postgres die or GPL vs BSDL by axxackall · · Score: 1
      Compare th amount of code IBM has contributed back to BSD to the one they did to Linux? Same with Apple? Exactly! And Using the code from BSD in AIX and OSX doesn't help to save the dying poularity of BSD.

      I don't believe that the hype of Linux has nothing to do with the license. I think that companies responsible for Linux hype are doing so b/c of GPL.

      Well, besides the license there is also a system architecture. Otherwise why most of conusmer electronics brands decided to choose Linux for their products? In embedded market the end-customer does not see what OS is running. Counting this argument I thing that PostgreSQL can get some recognition on the embedded market.

      --

      Less is more !
  66. Fine, now were do you get a safe backup tool? by Anonymous Coward · · Score: 0

    Replication is nice, when you need it, but AFAICT there is still no easy way to make a static snapshot of a PostreSQL database, take this in a file to another server, import with "psql databasename -f exported_file" and have it working. Sometimes you get incoherent snapshots, with inserts relying on tables which are not created yet.

  67. Re: Excellent... not quite... use FIREBIRD by temojen · · Score: 3, Informative

    Just to clear up any confusion:

    1. PostgresQL does not support nested transactions
    2. PostgresQL does support different concurrent transactions on different connections to the database or different users
  68. Should I go with Postgres instead of MySQL now? by froggle2003 · · Score: 1

    I'm developing a high volume, high availability site where SELECT speed and scalability are very important. I originally investigated Postgres because it supposedly uses less locking than MySQL does (when using the InnoDB transactional tables) but I decided against Postgres because of lack of a free replication solution. It would be easier to do a huge, multi-server site like Hotmail, Ebay, finance.yahoo.com, etc. if you have replication.

    I'm now wondering if I should make the switch to Postgres. Where are some of the most recent, reliable benchmarks for MySQL vs. Postgres SELECT performance using transactional tables for typical web applications?

    Also, I'm using some MySQL specific features like AUTOINCREMENT. Is the Postgres trick to doing AUTOINCREMENT just as fast as MySQL (or fast enough, anyways)?

    Does Postgres have something like MySQL's convenience variables?

    I think I might be much happier with Postgres's feature richness if I can learn more about it . . . .

    1. Re:Should I go with Postgres instead of MySQL now? by rycamor · · Score: 1

      I haven't seen any recent comparisons between MySQL and PostgreSQL. AFAIR, The last comparison done by MySQL compared the MySQL4 beta with an older version of PostgreSQL, hardly apples-to-apples.

      Without knowing more about your application it's hard to say "yes" to your question, but I will give a qualified yes, if your system will involve any complex queries. In my experience, MySQL only beats PostgreSQL for speed when the queries are simple. Also, remember that with views, stored procedures, prepared queries, cursors, etc... there are many ways to tweak your system for performance that are not available in MySQL. So again the comparison is not really apples-to-apples, because PostgreSQL happens to have a lot more apples ;-).

      Also, there have been some really interesting benchmarks for the upcoming verion 7.4 of PostgreSQL (I have been testing the beta version for months without a single problem).

      The other thing to consider is that PostgreSQL's greater ANSI-SQL compliance means that it is *much* easier to migrate to other enterprise DBMSs if you eventually have the need. Developing with MySQL involves many workarounds, special cases, and non-standard syntax. (hmm... come to think of it, that might actually be a strategy for lock-in... sound familiar?)

      PostgreSQL handles auto-incrementing in the style of Oracle, using sequences. It's a different concept, but much more powerful. Performance is just fine for this.

      I'm not sure what you mean by "convenience variables", but really once you delve into the land of stored procedures, you can turn anything, even rowsets, into variables.

      Yes, PostgreSQL takes more time to learn, but take it from a former MySQL user: it is well worth the trouble.

  69. Kudos to Oracle for a *great* Java Installer by kupci · · Score: 2, Funny
    Unlike MSFT, Oracle happens to run on other platforms besides Linux, a part of the world DOS people tend to forget about. That's why the Oracle installer is so great - same installer whether Windows, Solaris, Linux what have you. And I don't know, but I found the installer worked great. Numlock key - you lost me there, sounds like one of those support call jokes or something though....

    More apps should do this, such as DB2. Point is gotta think outside the box a little.

    1. Re:Kudos to Oracle for a *great* Java Installer by RealisticWeb.com · · Score: 1
      Support call jokes? SUPPORT CALL JOKES! You should at least make an attempt to investigate before you assume that I am lying.

      At 10 pm we took the database offline, and backed up to tape. The installer didn't work so we installed Java. The installer still didn't work, so we went online downloaded the latest version of Java and installed it. The installer STILL didn't work. We called the Oracle 24/7 help desk that costs the company upwards of $100k/year. After telling us to do everything that we had already done, they escallated the call...and ran out of ideas. We tried in vain all night long, and no matter what we did, all we could do is sit and stare at the big install button that did nothing when you clicked. Finially at 8 am we restored from tape and brought the db back the way it was before we started. Months later someone else happened to come across an entry in Oracles knowldgebase about it, but the sad thing is all the money that gets tossed away in support contracts, only to have them say "duh, I don't know" when a problem comes up.

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    2. Re:Kudos to Oracle for a *great* Java Installer by Brummund · · Score: 1

      "Yes, our installer sucks, but it sucks on 9 platforms." Yeah!

      (I still have nightmares about installing Oracle on a Linux-box with a crappy VGA card, 16 colors and 640x480. Good grief, why couldn't they have made a commandline version? It must have been around three or four years ago, and hopefully things have improved now, but really, if you're charging a premium for something; the installation procedures and help system should be way better than what Oracle provided.)

    3. Re:Kudos to Oracle for a *great* Java Installer by murphj · · Score: 1

      Actually, it got worse. We spent hours trying to install 9i, only to have the installer continually die. We finally found the reason - we had the display set to 16 colors, and the installer needs the display to be 256 colors. No error messages are ever displayed.

      --
      SONY. Because caucasians are just too damn tall.
  70. MySQL :The defacto standard by kupci · · Score: 1
    ... it is now the standard for companies needing a low or mid range solution.

    Hardly - I'd say that is MySQL which owns the low end, not MSFT. PostgreSQL is competing with MySQL and MSFT on the low end, and Oracle, DB2 on the high end.

    1. Re:MySQL :The defacto standard by cloudmaster · · Score: 1

      And, I've got a MySQL server driving two replica MySQL servers right now - and have been for quite some time. I must've missed the "very amazing" development in the news post... :)

  71. Where do you work? by jocknerd · · Score: 1

    I work for the City of Newport News, Va. We're using PostgreSQL for some stuff here and getting ready to use it for some high profile application. Unfortunately, we're using SQL Server along with Laser Fiche. Did you guys write your own imaging software?

  72. Re: Excellent... not quite... use FIREBIRD by captain_craptacular · · Score: 1

    Perhaps I'm too supid to understand, but here goes.

    Why would you need/want a transaction for a query. I don't see any benefit there. If you're not updating any data, you're wasting time and resources using a transaction.

    I'm not arguing that a lack of concurrent transactions doesn't drastically reduce the usefulness of the database. I just think that you used a bad example...

    --
    They who would give up an essential liberty for temporary security, deserve neither liberty nor security
  73. Not true - Re:MS SQL Server by Malc · · Score: 1

    Maybe that was a bug in earlier versions, but it works for me using Query Analyzer and SQL Server 2000.

    DECLARE @cnt INT
    SET @cnt = 2
    PRINT CAST(@cnt AS VARCHAR) + ' RECORDS TO GO'

    Returns: "2 RECORDS TO GO" (and no error messages)

    1. Re:Not true - Re:MS SQL Server by cannon_trodder · · Score: 1

      I'm using 2000 server and client tools which I *believe* is patched up-to-date.. That's at work so I can't check here on Linux. I wish I had the actual code here to post, maybe I've missed something out!

      At the time, a colleague suggested concatenating the character codes for 'G' and 'O' to the string instead and the error message went away.

      We also had problems with 'GO' in block comments but that's another story! Cheers for the feedback anyway.

  74. Re: Excellent... not quite... use FIREBIRD by glenstar · · Score: 1

    Transaction? No. But a LOCK can be handy (if implemented correctly, of course) to do a query of data from a fixed point in time. Perhaps that's what the OP meant. I sincerely hope so.

  75. OraSlave by stmiller · · Score: 2, Insightful
    Let me be up front: I am an Oracle slave. I have not and do not work for Oracle, but my Oracle dba and development expertise is vast and is the focal point of my entire career, which essentially rides on Mr. Ellison's coattails. I have been wanting to check out PostgreSQL for some time now, but I suffer major panic attacks whenever I start to download it. I promise to work closely with my therapist to overcome this disability. Perhaps the news about its new replication features will be just the thing I need to overcome my "issues".

    I feel better getting that off my chest. Now let me school you little punk beotch newbie dba-wannabes on the what's and wherefore's of enterprise class database administration. Rule #1: Protect Your Data! There is no rule #2. The real reason so many corporations use Oracle is that, if you know what you're doing (and so many of you obviously haven't the first clue), Oracle RDBMS will always be able to recover any committed transaction no matter how severe or catastrophic the failure. Can you say, "archive log mode?" If not, I cannot in good conscience say that you can protect a companies most valuable asset--it's data.

    And another thing, while I'm hot on a rant, protecting the data against server or disk failure is one thing, but protecting it against the vagaries of doofus programmers is quite another thing entirely. A good dba accomplishes this via something called database constraints, at which Oracle excels. Can you say, "foreign key?" If not, eventually your database will resemble swiss cheese, with less referential integrity than President Bush's Iraqi WMD speeches.

    Finally, everyone is always comparing MySQL and PostgreSQL's runtime performance to Oracle's. Please keep in mind that a database with only a handful of tables and no referential integrity is little more than a file system, and I do not care how many millions of records you stuff into the tables. Grownup databases contain hundreds of tables with multiple schemas and very complex data models. Can MySQL or PostgreSQL handle thousands of requests per second on a grownup database? I would really like to find out for myself.

    Finally finally, does PostgreSQL's feature list truly compare with Oracle's? Here is a short list of Oracle features that I cannot live without:

    • RMAN/hot backup
    • Log Miner
    • rollback
    • PL/SQL
    • triggers
    • archive log mode
    • duplex control, redo and archive log files
    • buffer cache
    • row-level locking
    • automatic undo management
    • constraints
    • inline views, WHERE EXISTS, subqueries, et. al.
    1. Re:OraSlave by Anonymous Coward · · Score: 2, Informative

      PostgreSQL has:

      * RMAN/hot backup (yes)
      * Log Miner (no)
      * rollback (yes)
      * PL/SQL (plPgSQL similar but not same)
      * triggers (yes)
      * archive log mode (no)
      * duplex control, redo and archive log files (no)
      * buffer cache (yes)
      * row-level locking (yes)
      * automatic undo management (more info?)
      * constraints (yes)
      * inline views, WHERE EXISTS, subqueries, et. al. (yes)

    2. Re:OraSlave by Bromrrrrr · · Score: 3, Insightful

      While I apreciate your loyalty and I sincerely hope that both you and Mr. Ellison live long and productive lives, comments realy are a lot better when you have at least passing knowledge of the subject at hand.

      --

      What a rotten party, have we run out of beer or something?
    3. Re:OraSlave by stmiller · · Score: 1
      Dang! I had no idea PostgreSQL was that advanced. Thanks for the reply. Looks like I need to overcome my fear (read: get off my lazy butt) and check it out. But the no archive log mode is a show stopper. Can't guarantee recovery without it.

      Automatic undo management is a feature new to 9i that replaces ye olde rollback segments. If you create your 9i database correctly, you need never worry about undo (rollback) again. It's very nice.

    4. Re:OraSlave by RuneB · · Score: 2, Informative

      Is this what you mean by archive log mode? If so, then PostgreSQL has it. :)

      --
      dtach - A tiny program that emulates the detach feat
    5. Re:OraSlave by stmiller · · Score: 1
      Almost. The doc you referred me to describes a pgsql write-ahead log (WAL), which is what Oracle dba's call a redo log. An archive log is a copy of a redo log. According to the WAL doc, pgsql has not yet implemented archive logs, but they are under consideration for a future release.

      Archive logs let you do several things, such as complete recovery, point-in-time recovery, hot backups, and transaction histories (log mining.)

  76. You really need to... by Anonymous Coward · · Score: 0

    pull your head out of your ass. PostgreSQL is quickly suplanting MySQL.

  77. Re:IAAEDBA Re:IANADBA by penguin7of9 · · Score: 1

    So Postgres is one feature closer to what Oracle was several years ago.

    And, while this may come as a surprise to you, most people today are running Oracle using the same feature set that Oracle had several years ago: software doesn't get hacked up to use every latest feature every time Oracle ships a new version. Therefore, when you (a UNIX/Oracle specialist) are saying that Postgres is where Oracle was a few years ago, that means that Postgres is technically good enough for most applications.

    Oracle, is pushing the edge on the database front, and doesn't show any signs of stopping.

    Perhaps not. But the ability to absorb, and need for, new features in database based applications is slowing down.

  78. Re: Excellent... not quite... use FIREBIRD by esquimaux · · Score: 2, Informative

    A transaction can provide the ACID properties throughout the duration of the transaction. Most importantly for read-only operations, you have Isolation. Isolation let you perform your queries without being affected by ongoing writes.

    This is better than a lock, which another poster suggested, as a lock will block all writers, while a transaction need not block anybody.

  79. Horses for courses by einhverfr · · Score: 1

    I honestly do not see MySQL as a serious RDBMS engine. It doesn't support many things necessary in order to really manage the data in the backend. THe whole "integrity is optional" stance regarding transactions, foreign keys, etc. is a problem for many serious applications, and PostgreSQL fills this need very well.

    OTOH, MySQL is an amazing lightweight datastore system exactly because it treats integrity as optional. Memory-only tables are certainly not ACID compliant, but they can be nice programmers' tools.

    --

    LedgerSMB: Open source Accounting/ERP
  80. Oracle Downloads by Anonymous Coward · · Score: 0

    Oracle has free, fully-functional downloads for current versions of all of their software at http://otn.oracle.com/... For instance: http://otn.oracle.com/software/products/oracle9i/c ontent.html

    Free account signup neccessary. That's about it.

    1. Re:Oracle Downloads by DrXym · · Score: 1
      Yeah, I goofed on that one so thanks to all who pointed it out. Seriously I spent ages looking around and obviously didn't see the right place. On a related issue, Borland also give away (for free) a personal edition of JBuilder for Windows & Linux. It's cut down from the Enterprise edition but is surprisingly full featured and enough to knock apps together. I have to say it won me over to JBuilder.


      I grabbed full copies of Oracle 9i (3 cds) last night so I'm just awaiting the opportunity to install and try them out.

    2. Re:Oracle Downloads by ChannelX · · Score: 1

      Screw free JBuilder. Use Eclipse. Or try JDeveloper from Oracle. Its free for dev. use.

      --
      My blog: http://jkratz.dyndns.org/~jason/blog/
  81. Re:IAAEDBA Re:IANADBA by MattRog · · Score: 1

    Online replication is generally considered by professional DBAs a fools errand.

    Not if you use a capable replication solution (see rep server and open switch).

    --

    Thanks,
    --
    Matt
  82. Re:IAAEDBA Re:IANADBA by glwtta · · Score: 1
    Mysql has had transactions for how long? a few days?

    Strictly speaking, it still doesn't. Using InnoDB tables kills most of the advantages of using MySQL, so what's the point?

    --
    sic transit gloria mundi
  83. Analysis services is the way to go by Nicolay77 · · Score: 1

    That's the reason MS SQL Server is gaining ground over Oracle, and what PostgreSQL should target in order to get a bigger annual growing.

    In plain relational databases Oracle is better and Postgres is more cost effective, however now the hot stuff is bussiness intelligence and data-mining.

    --
    We are Turing O-Machines. The Oracle is out there.
  84. Re: Excellent... not quite... use FIREBIRD by bill_mcgonigle · · Score: 1

    2. PostgresQL does support different concurrent transactions on different connections to the database or different users

    This is the kicker. I'm still on 7.2, maybe this is better in 7.3 and 7.4, but if you have connection A to database and connection B to database, you wind up with

    A: BEGIN
    A: DELETE FROM FOO...
    A: INSERT INTO FOO...
    B: SELECT * FROM FOO... (or maybe an INSERT)
    A: >

    before you can commit, so you lose the transaction. Depending on the frequency of data writing, you might have to give up transactions entirely if you want to write, or forever be betting the race condition.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  85. argh by bill_mcgonigle · · Score: 1

    the last 'A:' said 'TRANSACTION ABORTED' before slashcode had its way with it...

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  86. Re:IAAEDBA Re:IANADBA by vt0asta · · Score: 1

    I think you may have misconstrued what I was saying. Read what I said, "...Postgres is one feature closer to what Oracle was several years ago." In other words Postgres today, isn't even close to what Oracle was several years ago.

    You bring up another good point that only surprises me in that it is in support of Oracle. Oracle has backwards compatibility, and a migration option to get customers on the new version. The same feature sets are available across all newer versions of Oracle. You are right software doesn't get hacked up to use the latest features, but I'll be damned if I have to hack around incomplete SQL support, not good enough backup and recovery options, limiting/poor performance tuning variables and views, and virtually non-existant scalability.

    Oracle is there for when organizations need to grow up, and take advantage of real features such as rock solid point in time backup and recovery, built in scalability (not something that is bolted on and an after thought). These are features that are absent from open source offerings, and demanded by companies that recognize a need for them.

    In favor of Postgres, there's is the only open source contender I have ever seen that as a development culture kind of "gets it" as far as where a database engine needs to be. (i.e. Postgres seems like Oracle compared to MySQL.) However, they are still on the D- end of the bell curve.

    Postgres is technically good enough to provide a SQL interface for manipulating data for most applications. However, this is only half the answer for professional organizations, but worse it's akin to saying "Look, I can brush my teeth and tie my own shoes." It's not impressive, it's expected.

    <letmetellyouastory>
    I used to be a mysql fan boy. It was really cool. I felt cool, because I could do all of these things, and feel really clever because I could do them for free. Then I got a job as a webmaster (used to mean *nix/oss/web/network ninja) for a real company, and all they used was Oracle. They just wanted me to make those annoying web customers shut the hell up. It was about a months worth of work, and then it was boredom.

    I started volunteering to do other work that popped up during the Monday meetings. Applying patches doing admin work to Unix OSes I hadn't touched (i.e. HPUX, AIX, OSF). I then started watching the Oracle guys, and figured out what they did. I told them, that looks like MySQL. They thought I was cute, when I explained to them what it was. They then explained that MySQL sounds like a SQL interface to flat files, which it mostly was, and still is.

    Long story short, I started installing Oracle on our sandbox machines, and trying to do things with it. I thought it was incredibly complex, for what it was doing. The DBAs took notice that I was becoming midly interesting, and had the company pay for Oracle training.

    When I went to training I was enlightened. Not because the training is stellar, but because I then realized all of the stuff I had given no thought to. Every day I was thoroughly impressed with what was going on. "This was how a database was suppose to be run" I thought. MySQL is light years behind. If you really think about what is going on and how they are doing things, you begin to marvel at the ingenuity and understand the reason someone is rightfully asking for money.

    I had my classes, I took the certification tests (mandatory to be in the DBA department), got my pay raise bump, and I haven't looked back.
    </letmetellyouastory>

    --
    No.
  87. Re:IAAEDBA Re:IANADBA by vt0asta · · Score: 1

    I know. I know. It's like I said. Embarassing. For a long time the MySQL culture didn't recognize the need or even understand ACID or anything transaction related. Was "a waste of time", I think they said, since an application developer could attempt to build their own implementation into their application if they needed it.

    <sarcasm>
    No need to put cruft like transactions or SQL92 support into an RDBMS
    </sarcasm>

    --
    No.
  88. Re:IAAEDBA Re:IANADBA by vt0asta · · Score: 1

    I'll have to a look at this. I don't know enough about Sybase to speak intelligently about it.

    However, my experience with online replication is the wierd things that bite you in the ass, like storage constraints, network problems, changed passwords, wierd locking issues, and other bug a boos that made it a big pain in the ass.

    It was a far better idea to replicate the entire database offsite via redo/archive logs, than to try to run many online at the same time and keep the transactions in sync between them. This is just my experience your mileage may vary, and Sybase may have a for real solution to this problem, however, I am suspect when they mention store and forward queues as "the answer".

    --
    No.
  89. InnoDB Hot Backup by ttfkam · · Score: 1
    InnoDB Hot Backup is a tool that costs a bit of money. The equivalent tool in other packages (including PostgreSQL) is part of the overall package and free (in both senses of the word for PostgreSQL).
    InnoDB Hot Backup is also the ideal method of setting up new slaves if you use the MySQL replication on InnoDB tables.

    And this needs to be repeated far and loud: If you aren't using 100% InnoDB tables, you are royally screwed. Folks still running any MyISAM tables take note!

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
    1. Re:InnoDB Hot Backup by Zebra_X · · Score: 1

      Slashdot is not a forum for advertising software.

    2. Re:InnoDB Hot Backup by ttfkam · · Score: 1

      1. Since when? How many articles have you seen that advertise a new Linux distribution or a commercial branch of Wine. I know I've seen quite a few.

      2. Who was advertising? Certainly not me. I was briefly quoting the parent post and giving a word of warning to people already using MySQL to aid them in data integrity. I personally don't care for MySQL and don't use it.

      3. Is the air thin up there on your high horse?

      --

      - I don't need to go outside, my CRT tan'll do me just fine.
  90. Thank you by ttfkam · · Score: 1
    Well written. In addition, my addendum:
    • If you don't have the money, go for an OSS database.
    • If you don't have the money and actually care about your data, go for an OSS database like PostgreSQL.
    • If you have the money and actually care about your data, get Oracle or DB/2.

    It should be noted however that PostgreSQL was proportionally even further behind Oracle in the past. They're far behind, but think they're running faster.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  91. Re:IAAEDBA Re:IANADBA by Anonymous Coward · · Score: 0

    I have experience with Oracle replication, Sybase replication and MS SQL replication and frankly Sybase is the best without a doubt. It is exceptionally reliable and easy to manage.

    Unfortunately, Sybase just isn't going to make it on having a good product. Nobody gets fired for buying Oracle (or the inferior to both Oracle and Sybase - MS SQL Server).

    Whether or not Sybase's replication works is irrelevant. It's an MS/Oracle world and it is likely to stay that way.

  92. oh great by Anonymous Coward · · Score: 0

    ahh, love the you dont need a dba statement . youre data has got to be total shit.

    Id trust data integrity in mysql with a dba than youre installation. and that is a very saaad statement.

  93. Bind variables by majid · · Score: 1

    "defacto standard" is a bit of hyperbole. I like the PostgreSQL team's insistance on transactions and integrity, unlike MySQL's original denial that these mattered (which pretty much destroys any credibility they might have had in my mind, even if they now support transactions with InnoDB). But PostgreSQL is surprisingly primitive in some respects.

    I was trying to write an OLTP application with 7.3.4 and the current API does not support bind variables. Most OLTP queries will use the same SQL repeatedly, with some variables changing for each transaction.

    The difference between sending:

    ('insert into table foo values (:1)', 42)
    ('insert into table foo values (:1)', 137)
    ('insert into table foo values (:1)', 69)

    and

    'insert into table foo values (42)'
    'insert into table foo values (137)'
    'insert into table foo values (69)'

    is that in the second case, as the SQL text varies for each request, it has to be reparsed and a new optimizer plan recomputed for each query, adding tremendous overhead.

    PostgreSQL 7.4 (currently in beta) fixes this,but to me it shows a certain level of immaturity in the product for high-performance applications.

    I am sure PostgreSQL will get there eventually, but it will take a while. UNIX did not become an enteprise-class OS overnight either.

  94. Re: Excellent... not quite... use FIREBIRD by Troll_Kamikaze · · Score: 1

    Transaction? No. But a LOCK can be handy (if implemented correctly, of course) to do a query of data from a fixed point in time. Perhaps that's what the OP meant. I sincerely hope so.

    Yes, a transaction. I suggest you read up on MVCC, which is supported by PostgreSQL, Firebird, and Oracle.

  95. Re: Excellent... not quite... use FIREBIRD by jadavis · · Score: 1

    I don't understand what you mean. Can you post some SQL code, along with the result compared to what you expect?

    Here's what I did:

    A: create table foo(i int);
    A: insert into foo values(1);
    A: insert into foo values(2);
    A: insert into foo values(3);
    A: BEGIN;
    A: delete from foo where i = 2;
    A: insert into foo values(5);
    B: select * from foo;
    A: COMMIT;

    and everything went through without errors. I now have a table 'foo' with tuples 1, 3, and 5.

    What would you expect?

    Jeff

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  96. Re:IAAEDBA Re:IANADBA by vinsci · · Score: 1
    The diagrams linked below may be news to you. The article in eWeek, originally from February 2002, was updated in July 2003 and now has the actual code and data for the test. Note how DB2 and SQL Server are left in the dust, while MySQL and Oracle 9i perform about the same. So what's interesting here? eWEEK Labs/PC Lab writes:
    To our knowledge, this is the first time a computer publication has published database benchmark results tested on the same hardware since PC Magazine did so in October 1993.
    That much said, not all problems are nails, so choose your tools carefully. "Better" depends on your particular nail. But if you're about to leave out free databases, at least do so for the right reason.

    Two other MySQL products I found interesting (neither of which is open source at this time):

    The rest of this comment is quoted verbatim from InnoDB News

    MySQL/InnoDB-4.0.1 and Oracle 9i win the database server benchmark of PC Magazine and eWEEK. February 27, 2002 - In the benchmark eWEEK measured the performance of an e-commerce application on leading commercial databases IBM DB2, Oracle, MS SQL Server, Sybase ASE, and MySQL/InnoDB. The application server in the test was BEA WebLogic. The operating system was Windows 2000 Advanced Server running on a 4-way Hewlett-Packard Xeon server with 2 GB RAM and 24 Ultra3 SCSI hard drives.

    eWEEK writes: "Of the five databases we tested, only Oracle9i and MySQL were able to run our Nile application as originally written for 8 hours without problems."

    The whole story. The throughput chart.

    --

    Trusted Computing FAQ | Free Dawit Isaak!
  97. Re: Excellent... not quite... use FIREBIRD by Anonymous Coward · · Score: 0

    i'm trying to decide if you have a legitmate complaint or are just spreading fud, cause i surely am able to do this (though i am in 7.3, but i always remember this working)