Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Data Storage Software

PostgreSQL Inc. Open Sources Replication Solution 383

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."
This discussion has been archived. No new comments can be posted.

PostgreSQL Inc. Open Sources Replication Solution

Comments Filter:
  • by jon323456 ( 194737 ) * on Friday August 29, 2003 @08:59AM (#6823115)
    There is an enormous distance between "viable alternative" and "defacto standard" and the path between them is not paved with features.
    • by timbloid ( 208531 ) on Friday August 29, 2003 @09:02AM (#6823145)
      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...
      • by sporty ( 27564 ) on Friday August 29, 2003 @09:26AM (#6823386) Homepage
        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 :)
        • 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.
        • by mrroach ( 164090 ) on Friday August 29, 2003 @09:55AM (#6823659)
          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

        • by johnnyb ( 4816 )
          "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.
    • by Malc ( 1751 ) on Friday August 29, 2003 @09:58AM (#6823678)
      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.
      • > 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.
      • 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, especi
      • by ( 557454 ) on Friday August 29, 2003 @11:08AM (#6824376) Homepage
        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.

      • by emil ( 695 ) on Friday August 29, 2003 @11:51AM (#6824806)

        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.

      • by Malcontent ( 40834 ) on Friday August 29, 2003 @12:40PM (#6825285)
        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.
        • 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.

    • by Trifthen ( 40989 ) on Friday August 29, 2003 @11:33AM (#6824634) Homepage
      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.
      • by The AtomicPunk ( 450829 ) on Friday August 29, 2003 @12:15PM (#6825014)
        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 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.
      • by rtaylor ( 70602 ) on Friday August 29, 2003 @12:59PM (#6825453) Homepage
        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.
  • Good Thing(tm) (Score:4, Interesting)

    by mr_stark ( 242856 ) <tim@trgra[ ] ['y.c' in gap]> on Friday August 29, 2003 @09:02AM (#6823148)
    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.
    • Re:Good Thing(tm) (Score:5, Insightful)

      by msgmonkey ( 599753 ) on Friday August 29, 2003 @09:07AM (#6823186)
      Implementing replication at the application layer is about as much fun as implementing table locking at that layer.
    • Think using PHP to squirt a table in one DB into anther one.

      Oh man, that is sooooo cheating.
    • Re:Good Thing(tm) (Score:5, Informative)

      by TechnoVooDooDaddy ( 470187 ) on Friday August 29, 2003 @09:28AM (#6823403) Homepage
      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.

    • Re:Good Thing(tm) (Score:3, Informative)

      by bigjocker ( 113512 ) *
      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
  • by Anonymous Coward on Friday August 29, 2003 @09:03AM (#6823149)
    Check 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.
    • "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.
      • 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

    • 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..

    • 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...
    • by LWATCDR ( 28044 ) on Friday August 29, 2003 @12:11PM (#6824987) Homepage Journal
      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.
  • by Anonymous Coward
    So we can get them neatly sorted out of the way of the interesting comments. Thanks.
  • PostgreSQL fanboy (Score:5, Informative)

    by realnowhereman ( 263389 ) <<moc.liamg> <ta> <snikrapydna>> on Friday August 29, 2003 @09:09AM (#6823200)
    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.
    • 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.
    • by TheRaven64 ( 641858 ) on Friday August 29, 2003 @09:36AM (#6823462) Journal
      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...

    • Re:PostgreSQL fanboy (Score:4, Informative)

      by DrXym ( 126579 ) on Friday August 29, 2003 @10:47AM (#6824147)
      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.

      • Re:PostgreSQL fanboy (Score:3, Informative)

        by AJWM ( 19027 )
        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
  • by juahonen ( 544369 ) <> on Friday August 29, 2003 @09:11AM (#6823218) Homepage

    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.

    • 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.

  • 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.

  • But (Score:2, Interesting)

    by Anonymous Coward
    PostreSQL still dosent support inverse and shadow keys. Until they support them, We will continue to fork out 100.000 a year for Oracle.
    • Re:But (Score:3, Informative)

      by rtaylor ( 70602 )
      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.
  • plPHP (Score:5, Informative)

    by jdh-22 ( 636684 ) on Friday August 29, 2003 @09:14AM (#6823258)
    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!
  • by cmay ( 687134 ) on Friday August 29, 2003 @09:16AM (#6823295) Homepage
    So I get up and take a step toward the coffee machine, I guess I am ALSO "one step closer" to China!
  • by Anonymous Coward on Friday August 29, 2003 @09:18AM (#6823312)
    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.
  • OOS vs. Oracle (Score:5, Informative)

    by Baavgai ( 598847 ) on Friday August 29, 2003 @09:20AM (#6823334) Homepage
    > 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.
    • Re:OOS vs. Oracle (Score:5, Insightful)

      by rcs1000 ( 462363 ) * <> on Friday August 29, 2003 @09:37AM (#6823472)
      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.

    • 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.

  • by emmavl ( 202243 ) on Friday August 29, 2003 @09:22AM (#6823351)
    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 !!!)
    • >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 :-/
    • 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).
    • 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 g
  • by MarkSwanson ( 648947 ) on Friday August 29, 2003 @09:24AM (#6823368) Homepage
    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.

  • IANADBA (Score:5, Insightful)

    by WeirdKid ( 260577 ) on Friday August 29, 2003 @09:25AM (#6823373)
    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.

    • Re:IANADBA (Score:5, Informative)

      by BigGerman ( 541312 ) on Friday August 29, 2003 @09:41AM (#6823503)
      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.
      • Re:IANADBA (Score:3, Funny)

        by p3d0 ( 42270 )
        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?
    • 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.

    • Re:IANADBA (Score:3, Informative)

      by mchappee ( 22897 ) *
      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 ha
    • IAAEDBA Re:IANADBA (Score:4, Interesting)

      by vt0asta ( 16536 ) on Friday August 29, 2003 @11:17AM (#6824448)
      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.

      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.

      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.
  • by dborod ( 26190 ) on Friday August 29, 2003 @09:28AM (#6823400) Homepage
    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?
  • by Anonymous Coward

    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.
  • 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."
  • StarFish (Score:3, Interesting)

    by mflaster ( 702697 ) on Friday August 29, 2003 @09:49AM (#6823592)
    [ 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 ]
  • Top Five Components (Score:3, Interesting)

    by devnullkac ( 223246 ) on Friday August 29, 2003 @09:54AM (#6823651) Homepage

    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?
  • by ajs ( 35943 ) < minus berry> on Friday August 29, 2003 @10:00AM (#6823702) Homepage Journal
    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!
  • by mnmn ( 145599 ) on Friday August 29, 2003 @10:55AM (#6824219) Homepage
    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.
    • Compitition (Score:4, Insightful)

      by WindBourne ( 631190 ) on Friday August 29, 2003 @12:46PM (#6825347) Journal
      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.

Can anyone remember when the times were not hard, and money not scarce?