Slashdot Mirror


PostgreSQL Wins LJ Editor's Choice Award

Quickfoot writes "PostgreSQL has won the LJ Editor's choice award for database servers the second year in a row and three times total (2000, 2003 and 2004). With the upcoming features in version 8.0 PostgreSQL is posed to do even better in 2005."

178 comments

  1. Current database server: PostgreSQL by BubbaThePirate · · Score: 5, Funny

    My angst drives me to new lows.
    My happiness is simply more to suffer thru.

    Current Mood: depressed.
    Current database server: PostgreSQL
    Listening to: Linkin Park

    Oh, Linux Journal.

    --

    -- "I'm not a religious man, but if you're up there, save me Superman..."

    1. Re:Current database server: PostgreSQL by samael · · Score: 0, Troll

      Nice one. Wish I'd got there first.

    2. Re:Current database server: PostgreSQL by MinutiaeMan · · Score: 1

      My thoughts exactly. When I saw the headline, I was wondering why the heck LiveJournal would be giving out awards for database servers...

    3. Re:Current database server: PostgreSQL by Lord+Crc · · Score: 0, Troll

      I think slashdot should get an "Intelligent Humor" modifier or similar, which WOULD get you karma. I see so many posts that are way more than simple cheap shots, often bringing across a point using humor, and I don't see why they shouldn't get karma for using humor as their tool.

      Nice one though :)

  2. PostgreSQL is an excellent DB by barcodez · · Score: 4, Interesting

    PostgreSQL has for a long time been an excellent choice of database with full transaction support, sequences, trigers, unicode and much much more. I personally prefer working with it to expensive alternatives such as Oracle and DB2.

    The PGAdmin3 tool also allows for those scared/lazy for the command line to use interogate it's schemas.

    What I'm not too sure about is where any company is providing support on a level one would get from Oracle or IBM. Oracle's support is actually extremely good (in my experience). Anyone point to any companies ready to provide PostgreSQL support?

    --

    ----
    1. Re:PostgreSQL is an excellent DB by digitalunity · · Score: 4, Interesting

      PostgreSQL is also one of the oldest and most stable database servers around. Having been started in 1986 (1977 if you count Ingres development), it has had many years more of testing and development than probably any other open source project.

      Developing for pgsql is also a lot of fun. The documentation makes it very easy to use, as well as develop for. I'd take PostgreSQL over Oracle, DB2, and especially MySQL.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    2. Re:PostgreSQL is an excellent DB by Anonymous Coward · · Score: 0

      Now that ingres has been open sourced too - how do the two compare???

    3. Re:PostgreSQL is an excellent DB by tcopeland · · Score: 3, Informative

      > The PGAdmin3 tool

      PLUG: Another good tool - PQA, a SQL query analysis tool. Here's a sample report.

    4. Re:PostgreSQL is an excellent DB by Anne+Thwacks · · Score: 2, Informative
      Oracle's support is actually extremely good (in my experience). Yes, but I found it easy to use pgsql with no support, but impossible to use Oracle with no support!

      AFAICR the pggsql web site lists companies providing support.

      --
      Sent from my ASR33 using ASCII
    5. Re:PostgreSQL is an excellent DB by MemoryDragon · · Score: 2, Informative

      Both share the same roots, the akademic ingres database. The recently OSSed ingres was the akademic ingres which has turned commercial and was lately in the hands of CA. Postgres was a fork of the akademic Ingres and didnt have anything in common with Ingres for more than a decade now.

    6. Re:PostgreSQL is an excellent DB by oz_ko · · Score: 1
      Personally I think PostgreSQL has been a great DB for some time, though the limiting factor IMHO has been portability.

      As a developer I've stuck to mySQL or proprietary DB's for most of my projects because I don't always know the target platform.

      I know older PostgreSQL versions ran on win32 under cygwin but you should try to explain why and how a customer has to install cygwin/postmaster etc. and you quickly understand it's just know worth the grief (notwithstanding performance issues as well )

      A native Win32 implementation removes those limitaions - fantastic. Thanks all at PostgreSQL!

      Oz

    7. Re:PostgreSQL is an excellent DB by Anonymous Coward · · Score: 0

      Pfft, development since 1986 and only up to version 8? Hell windows has gone up to 2000 and actually trancended numbers. Even linux has moved up to 4 digits now (2.6.8.1)

    8. Re:PostgreSQL is an excellent DB by Anonymous Coward · · Score: 0

      http://www.commandprompt.com/

    9. Re:PostgreSQL is an excellent DB by iwadasn · · Score: 2, Informative


      Well, I'd certainly take it over MySQL, and I haven't used DB2 but it's optimizers look kindof sucky, so maybe DB2 as well.

      However, I've seen Oracle perform miracles, and I've also seen the explain output from PSQL queries. The one thing PSQL needs in order to be a good OLAP (as opposed to OLTP) database is a really good query optimizer.

      The primary problem I always ran into was that Postgres was always VERY optimistic when guessing row counts (if you actually perform the steps in the explain, you often get thousands of times more rows than PSQL says you'll get), and this is a problem. And yes, this is after vaccuming tables, etc...

      This means that (in my experience) the thing actually runs about 10x faster when you turn off sequential scans and hash joins, as it always attempts to use those two on HUGE tables because it thinks they're small. If the optimizer could be improved a little bit, that would be wonderful.

      However, if you don't plan to push it very hard, or give it any HUGE tables, then it does quite well. There's certainly no reason too pay actual money for a sucky database or use something like MySQL.

    10. Re:PostgreSQL is an excellent DB by flacco · · Score: 1
      i agree, it's a fantastic database. i'm porting our ms-sql-server stuff to postgresql ATM.

      ...but it suffers from a shortcoming that many open source projects have - ease of use.

      example: in mssql, i can alter a table definition that has views defined against it, and if the resulting set is still consistent with the dependent views, no problem. in postgresql, i have to *delete* all the views (and i believe some other objects) that depend on the table, alter the table, and then recreate the dependent objects. BIG hassle, especially while you're in the process of developing an application and the data definition changes.

      also - and this is no fault of postgres, just pointing this out as an impediment to migration - there are several gotcha's getting MS-Access front ends to work with postgresql:

      • the handling of booleans is *weird*, and to fix it i had to define my own comparison operator in postgresql between booleans and integers (thanks google).
      • controls bound to "time" columns are also *weird* - they don't respect the "time" formatting applied to them, and they end up displaying as date+time when the control receives focus. unacceptable for the user to expect a time value and see today's date plus a time value.
      • it takes some configuring to get the odbc driver to get the data source to behave as Access expects it to.
      i think it would aid uptake of postgres greatly if a little attention were paid to providing usable workarounds to these problems, and publicising them. there are a LOT of access front-ends in use in a lot of organizations with windows clients.

      there are a couple others that escape me at the moment, but i think they mostly revolve around the flexibility of the schema, like the first example i gave.

      --
      pr0n - keeping monitor glass spotless since 1981.
    11. Re:PostgreSQL is an excellent DB by Anonymous Coward · · Score: 0
      To be a good OLAP database, Bitfield indexes, index-only queries, and partitioning of tables would help too.

      In my experience (a few 200+GB Postgresql databases) the optimizer isn't often optimisitic on row counts unless your table has rather unusual distributions. If you have an unusual distribution of data in your tables, you can increase the number of "buckets" that it keeps stastics for to help. Setting this very large should make most index types give accurate estimates for even the biggest tables.

    12. Re:PostgreSQL is an excellent DB by jadavis · · Score: 2, Informative

      Just to make this clear:

      In order for the planner to do a good job, you must "VACUUM ANALYZE" regularly, not just "VACUUM". Or you could use "ANALYZE" by itself.

      I would hope that 8.0 does a better job for you, I know they made some improvements to the planner.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    13. Re:PostgreSQL is an excellent DB by jadavis · · Score: 1
      in mssql, i can alter a table definition that has views defined against it, and if the resulting set is still consistent with the dependent views, no problem. in postgresql, i have to *delete* all the views (and i believe some other objects) that depend on the table, alter the table, and then recreate the dependent objects. BIG hassle, especially while you're in the process of developing an application and the data definition changes.

      Can you show what you mean? In PostgreSQL 8.0.0beta1, the following works just fine:

      test=# create table t1(i int);
      CREATE TABLE
      test=# create view v1 as select * from t1;
      CREATE VIEW
      test=# alter table t1 add column j int;
      ALTER TABLE
      test=# insert into t1 values(1,11);
      INSERT 17234 1
      test=# select * from v1;
      i
      ---
      1
      (1 row)

      So what's the problem? That's how I'd expect it to behave.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    14. Re:PostgreSQL is an excellent DB by www_postgresql.at · · Score: 1

      There is even better support for PostgreSQL than there is for Oracle. We (www.postgresql.at) do 24/7 support including bugfixing and feature development. So if you happen to have a problem at 3am you can call us and we will fix it for you - even if it is a bug in PostgreSQL itself. Some very large companies already rely on us. Just send an email to office@cybertec.at. Regards, Hans

    15. Re:PostgreSQL is an excellent DB by Sxooter · · Score: 1

      To be a good OLAP database, ... index-only queries,

      PostgreSQL cannot do this due to it's design. It's MVCC datastore system means that you can only get the right number out of the actual table.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  3. But what are they using? by caluml · · Score: 3, Informative

    It looks like they are ( have been? ) quite big fans of MySQL in the past. Netcraft shows that a couple of years ago ( 4th Aug 2002 ) that their webserver was running with Mod Auth MySQL.
    Apache/1.3.26 (Unix) PHP/4.1.2 mod_ssl/2.8.10 OpenSSL/0.9.6e AuthMySQL/2.20

    1. Re:But what are they using? by Anonymous Coward · · Score: 0

      Sometimes mysql, with its lack of features, is faster and just enough for a simple task such as holding a customer database for autentification.

    2. Re:But what are they using? by SlashdotLemming · · Score: 4, Funny

      It looks like they are ( have been? ) quite big fans of MySQL in the past. Netcraft shows that a couple of years ago ( 4th Aug 2002 ) that their webserver was running with Mod Auth MySQL.

      So you expect them to rewrite their site with the winning technology everytime they do these awards? You, sir, have a seat waiting for you in upper management.

    3. Re:But what are they using? by Anonymous Coward · · Score: 0

      Not every time they do these awards, no. But perhaps if one database consistently won the award for years, yes.

  4. Comment removed by account_deleted · · Score: 5, Interesting

    Comment removed based on user account deletion

  5. Re:Postgres ROCKS by NanoGator · · Score: 3, Funny

    "I love PostgreSQL!"

    Sadly, since their affections are misplaced, this is the last generation of PostgreSQL lovers.

    --
    "Derp de derp."
  6. I hope 8.0 is more scalable. by Anonymous Coward · · Score: 0

    I love postgresql and use it on everything I can. However, it sucks as a catalog system for file backup systems (ie. bacula). After over 1.5 million files it starts taking minutes to insert each new file row. Mysql isn't perfect either with its limited authentication system(kerberos/sasl logins anyone?) and its slow roll towards real compliant sql, unicode, etc. support. Though mysql does handle much larger tables quite easily. Mysql also scales well with its new network engine.

    I see mysql fixing its flaws long before postgresql fixes its bottlenecks.

    1. Re:I hope 8.0 is more scalable. by Anonymous Coward · · Score: 0

      This seems to be a problem with something else. Something might be done wrong at your side or in the way Bacula uses PostgreSQL.
      How does Bacula use the database?

    2. Re:I hope 8.0 is more scalable. by Anonymous Coward · · Score: 0

      pgsql-performance for help: http://archives.postgresql.org/pgsql-performance/

    3. Re:I hope 8.0 is more scalable. by Anonymous Coward · · Score: 0

      Hm. I don't know bacula very well, but there are two file storage systems in postgresql - the old database-wide BLOB system and the new large binary string system. Don't use the old BLOB system....

    4. Re:I hope 8.0 is more scalable. by Anonymous Coward · · Score: 0

      Command Prompt Inc. uses PostgreSQL: http://www.commandprompt.com/
      "Command Prompt has been extremely helpful in diagnosing problems and providing effective solutions. Our database is over 100 Gigabytes in size, and we do 240,000 transactions per hour 24/7. They have helped us to get the most out of our large database installation and plan for future expansion.

      Andy Ruse
      Senior Network Administrator
      AWeber Systems, Inc."

    5. Re:I hope 8.0 is more scalable. by tgl · · Score: 1

      > After over 1.5 million files it starts taking minutes to insert each new file row.

      INSERT in itself is basically a constant-time operation. You've got some problem somewhere else, but with this amount of detail it's impossible to help you fix it. (If I had to guess with no data I'd guess about an unindexable foreign-key reference, but that guess is worth what you paid for it.) If you'd like more help please feel free to post details about your problem on the pgsql-performance mail list.

      > I see mysql fixing its flaws long before postgresql fixes its bottlenecks.

      I'm constantly amazed at the number of MySQL apologists who think that MySQL will catch up while the Postgres team sits on its collective butt. Check out the release history of the two projects over the past five years, and then tell me which one is moving faster.

  7. Re:Postgresql helps Linux pentrate corporates by NanoGator · · Score: 0, Offtopic

    "I'm hoping its the thin end of the wedge."

    Bet you're not the first database fan to wish for that. ;)

    (I love out of context comments.)

    --
    "Derp de derp."
  8. Learning Postgres! by Anonymous Coward · · Score: 0

    I have been looking to learn Postgres since the recent news that it has got (or going to get) better Windows support now.

    Can anyone point me to a good compact book or tutorial to learn Postgres *without* all the fluff of what sql is and how you use a select statement? Something that assumes that I know databases and just focusses on the teaching the Postgres advantages.

    1. Re:Learning Postgres! by Anonymous Coward · · Score: 3, Informative

      Well, just start a few chapters into the excellent postgres manual, skipping the bits that say "introduction to sql" and paying close attention to bits like "advanced features" and "extending sql"...

    2. Re:Learning Postgres! by einhverfr · · Score: 1

      The SQL section is worth skimming though so that you know where to look up various datatypes. PostgreSQL has a large enough arsenal of datatypes, it can be useful to know where to go for information.

      --

      LedgerSMB: Open source Accounting/ERP
    3. Re:Learning Postgres! by wormbin · · Score: 2, Interesting

      I don't have a recommendation but I do have a strong anti-recommendation.

      I normally recommend the associated Oreilly book for most computer topics but in the case of PostgreSQL I have to say Practical PostgreSQL is the worst Oreilly book that I have read. Most of the book is a regurgitation of the freely available postgres manual with an additional chapter that is a blatant plug for the author's proprietary product.

      I thought Oreilly could do no wrong until I bought this piece of crap.

    4. Re:Learning Postgres! by blif · · Score: 1
      O'Reilly's books on databases oddly seem to be universally crappy.

      Their MySQL book is even worse than the Postgres book (which is quite bad).

      I personally have found "PostgreSQL Essential Reference" by Barry Stinson to be the most useful Postgres book.

  9. Postgres rocks! by Anonymous Coward · · Score: 3, Interesting

    The thing I like about it is that they're not scared of going beyond the basic SQL [tablizer-mode:pseudo]relational model, with their business rules, advanced user-defined-types, and table inheritance. And MVCC is amazing!

    I do wish there were two things:

    (1) A Feature: multimaster asynchronous merge replication. This is Very Hard(tm) (and bogged down by patents in the corporate reich of america), but would make postgres a contender for distributed database applications.

    (2) A model extension: distributed foreign keys. I think table inheritance isn't general enough. postgres has demonstrated that they're not afraid of going beyond the relational model. Well, I want a foreign key that can point to columns in two or more tables, and have a value from one OR another, yet still have its constraints enforced - why can't I specify e.g. A(X) REFERENCES C(Y) OR D(Z), so that A(X) may be a value from either C(Y) or D(Z), but nothing else?

    1. Re:Postgres rocks! by Anonymous Coward · · Score: 0, Offtopic

      I think there's at least 2 ways to solve your second problem today: 1) Create an appropriate view that has a column defined by a subquery that contains the union of the two target columns, and 2) Assign a check constraint that makes the makes sure the new value is in the subquery of the union of the two target columns.

      I'm not a guru, those are just guesses.

    2. Re:Postgres rocks! by r3m0t · · Score: 0
      "I want a foreign key that can point to columns in two or more tables, and have a value from one OR another, yet still have its constraints enforced - why can't I specify e.g. A(X) REFERENCES C(Y) OR D(Z), so that A(X) may be a value from either C(Y) or D(Z), but nothing else?"
      That sounds like really bad design to me.
    3. Re:Postgres rocks! by Anonymous Coward · · Score: 1, Interesting

      Not necessarily. See "the third manifesto" for cases in which it improves database design, doing away with NULL and Object-Relational hybrid crap.

    4. Re:Postgres rocks! by rycamor · · Score: 3, Interesting

      Actually, there is nothing non-relational about the idea of a distributed foreign key. It has even been proposed by some ardent "defenders" of the relational model: Hugh Darwen (colleague of C.J. Date) mentions this as a desirable feature in his presentation How to Handle Missing Information without Using Nulls

    5. Re:Postgres rocks! by rtaylor · · Score: 1

      (2) A model extension: distributed foreign keys. I think table inheritance isn't general enough. postgres has demonstrated that they're not afraid of going beyond the relational model. Well, I want a foreign key that can point to columns in two or more tables, and have a value from one OR another, yet still have its constraints enforced - why can't I specify e.g. A(X) REFERENCES C(Y) OR D(Z), so that A(X) may be a value from either C(Y) or D(Z), but nothing else?

      That is an interesting thought and one that could be implemented today via triggers.

      If PostgreSQL ever fixes the inheritance model to allow indexes to span multiple relations, this may become a possibility.

      --
      Rod Taylor
    6. Re:Postgres rocks! by jguthrie · · Score: 2, Insightful
      AC Sez:
      1) A Feature: multimaster asynchronous merge replication. This is Very Hard(tm) (and bogged down by patents in the corporate reich of america), but would make postgres a contender for distributed database applications.

      You know, generally the complaint about software patents being unreasonable has to do with how easy it is to do patented stuff. Have you considered that the only reason you know how to do multimaster asynchronous merge replication may be because someone figured out how to do it and told everyone else in a patent? So, what patents apply and when do they expire?

    7. Re:Postgres rocks! by Anonymous Coward · · Score: 0

      No, an academic told everyone in a research paper, which the patent office refuses to recognise as prior art.

      Have you read a software patent? It's actually prohibited to use any sort of code to describe the algorithm, so software patents are particularly useless as documentation.

    8. Re:Postgres rocks! by Anonymous Coward · · Score: 1, Interesting

      I think that was the intent of the [tablizer:pseudo]relational dig - SQL is not really relational, and postgres is a particularly good choice if one wanted to produce a third-manifesto compliant database, and provided one does NOT expose the Postgres OIDs, which _are_ wrong-headed in third manifesto terms.

    9. Re:Postgres rocks! by Anonymous Coward · · Score: 0

      I wish multiple temp tables worked:

      SELECT xx.foo, yy.bar FROM
      (SELECT count(1) AS foo FROM t1 WHERE a=2) AS xx
      JOIN
      (SELECT count(1) AS bar FROM t2 WHERE j=9) AS yy

      People that even use table inheritance, on the other hand, should be shot. I guess SQL is a religion after all.

    10. Re:Postgres rocks! by Anonymous Coward · · Score: 0

      You could do this with triggers now, although it would be ugly to maintain. Or possibly inherited tables somehow, although I haven't actually used those.

    11. Re:Postgres rocks! by Sxooter · · Score: 1

      and provided one does NOT expose the Postgres OIDs, which _are_ wrong-headed in third manifesto terms.

      FYI, OIDs are now optional, and may, in some future release, default to being off on a table at creation time.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  10. Hmm... by Anonymous Coward · · Score: 0
  11. Re:Postgres ROCKS by SinaSa · · Score: 0

    That's only if the Postgres team doesn't accept my patch entitled "Reproductive Organs for Postgres", aimed squarely at those who love Postgres so much...well...you guys get the idea.

    --
    --
    The last digit of pi is four.
  12. Linux Journal by Anonymous Coward · · Score: 0

    Aren't they the ones who tried to rip off Linux Gazette?

  13. Very little compelling reason to use MySQL anymore by kcbrown · · Score: 5, Informative
    Way back in the day (late 90s), PostgreSQL was quite slow, not all that reliable, and difficult to bring back up after a crash. It was during this time that MySQL became very popular: it was fast, if not terribly robust, but the MySQL developers were very smart by providing tools that would "fsck" your table files so you could bring your database back up after a crash without too much headache (PostgreSQL required a full restore, which took much more time).

    What a difference a few years makes! Today, PostgreSQL is fast, extremely robust, and incredibly capable. It scales better than MySQL, preserves data integrity better, and makes it possible to do things that you can't do even in Oracle (for instance, just about all DDL in PostgreSQL is transactional: table creation/deletion, index creation/deletion, user creation/deletion, etc. This means, for instance, that you don't have to have an operator to alter a column's datatype: you just create the new column, copy the data into it, and then drop the old column, all within a single transaction, and if you screw up you can roll the whole thing back). It supports a number of different languages in which one can write stored procedures. The planner is quite good and yet is constantly improving.

    About the only thing that PostgreSQL is not is auto-adaptive. That is, one still has to configure it to get optimal performance, same as with any database I've ever seen. The default settings provided in the raw distribution are, well, quite conservative: they're set up so that you can successfully start PostgreSQL even on a small, old system, which means you almost certainly have to tweak the configuration file in order to get truly good performance out of it.

    In short, PostgreSQL has gotten very, very good in a relatively short period of time. It's so good compared with the other freely-available databases out there that I can't really think of a compelling reason to use anything else -- it's so good that if you need something more capable then you're going to have to pay big, big money.

    And 8.0 will get you native Win32 support (with a point-n-click installer and everything, if I'm not mistaken). With its feature set (especially if you include what's going to be delivered in 8.0), that makes PostgreSQL-win32 a real SQL Server killer, as long as it performs well on that platform.

    In short, PostgreSQL deserves very much to win this award, and the PostgreSQL development crew deserves a ton of kudos for producing such a kickass database system. I'm very much hoping that third-party software support for PostgreSQL gets as good as it is for MySQL, because the database engine is certainly deserving of it.

    --
    Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
  14. Re:Postgres ROCKS by Roofus · · Score: 1, Funny

    Please, all PostgreSQL lovers have taken a vow of celibacy, just like their fathers, and their father's fathers!

  15. Tools by Billly+Gates · · Score: 1

    Recovery tools for example as well as multiple user support keep mysql more popular among ISP's.

    Unless I am wrong and my information is outdated. I would like to learn more since I would prefer to leave mysql.

    Native win32 port without a buggy cygwin implementation is a major plus.

    1. Re:Tools by Anonymous Coward · · Score: 0
      Gee, someone really didn't read the links.
      Win32 Native Server
      This is the first PostgreSQL release to natively run on
      Microsoft Windows as a server. It can run as a Windows service.
    2. Re:Tools by JohanV · · Score: 2, Informative

      PostgreSQL has buildin recovery. Upon every boot the system verifies if it was correctly shut down and if not it replays the Write Ahead Log (WAL) from the last checkpoint (which occur every X seconds and force all data to be written to disk) until the last committed transaction. That is all recovery you need in a database, and it has been in PostgreSQL for years.
      And by all standards I know, PostgreSQL is a true multiuser database. It supports concurrent access and acls (at many levels, the cluster, the database, the schema, the table etc. you can tell exactly who can see and touch what). As a matter of fact, we happily run dozens of PostgreSQL databases for our webhosted customers.

    3. Re:Tools by tzanger · · Score: 1

      Upon every boot the system verifies if it was correctly shut down and if not it replays the Write Ahead Log (WAL) from the last checkpoint (which occur every X seconds and force all data to be written to disk) until the last committed transaction. That is all recovery you need in a database, and it has been in PostgreSQL for years.

      That was my understanding, too... So what's this point-in-time recovery and what's it do better?

    4. Re:Tools by bovinewasteproduct · · Score: 3, Informative

      So what's this point-in-time recovery and what's it do better?

      As I understand it, prior Point-in-Time recovery the WAL files would replay ALL of the transactions they contained, you could not pick were to end them.

      With PIT you can tell the system to replay just to a certain point or all the way.

      With the new utilities included with PostgreSQL 8.0(now beta) you can also use this as a backup system (it was not easy to do prior to this). Create a backup dump and load it into your backup server. Copy (rsync would work here) the WAL files over to the backup server and replay them as they compleate. When you need the backup, you can (using an included util) replay the last partial WAL file and bring the system up. If I were do this though I would most likely shrink the size of the WAL files from the stock 16MB to something a little smaller (unless your DB was VERY busy...).

      BWP

    5. Re:Tools by Wyzard · · Score: 1

      If you're talking about "transaction checkpoints", what that means is nested transactions. It has nothing to do with handling database crashes; it's for limiting how much of your transaction you have to roll back when an SQL command fails. Say you issue these SQL commands:

      BEGIN TRANSACTION;
      SELECT foo FROM bar;
      SELECT bar FROM foo;
      UPDATE bar SET foo = foo + 1 WHERE xyz;
      COMMIT;

      If the second SELECT (for example) fails, the transaction is automatically aborted and you have to start over again with the first SELECT. If that first SELECT was complex and time-consuming and it succeeded the first time, it's wasteful to have to do it again. With nested transactions, you can write this:

      BEGIN TRANSACTION;
      SELECT foo FROM bar;
      BEGIN TRANSACTION; -- Nested!
      SELECT bar FROM foo;
      COMMIT;
      UPDATE bar SET foo = foo + 1 WHERE xyz;
      COMMIT;

      Now, if the second SELECT fails, only the inner transaction is aborted, and you can begin again from the beginning of the inner transaction without losing work done since the beginning of the outer transaction.

    6. Re:Tools by JohanV · · Score: 2, Insightful

      You are confusing checkpoints with savepoints.

      The most expensive task of a database is I/O. If you have a transaction that alters data in 3 places in two tables and that transaction commits, the database has to wait until the data has hit the disk. (Data hitting the disk is the Durability part from ACID.) With an average disk latency of 7 miliseconds doing 6 I/O operations translates to 42 miliseconds waiting before the database can confirm the commit to the client.
      Since this is way to long, these 6 writes are pushed out to the buffers in RAM, but writing of these changes to disk is not required. Instead, all six changes are sequentially written to a special file, the Write Ahead Log, and that log file hitting the disk is sufficient to guarantee durability. That is only 1 I/O operation, a significant win in performance.
      Obviously at some point the buffers have to be written to disk anyway. This happens when they are so inactive that they drop out of cache the normal way. But to know that all changes to a file have been pushed out to disk, which we need to know for certain before we can recycle the WAL, files are occasionally forced to disk. This forcing to disk is called a checkpoint, and it happens every X seconds, when there has been a certain amount of activity or when a superuser issues the CHECKPOINT command.

      The code examples you provided are a way of creating a SAVEPOINT, a point inside a transaction that you can roll back to without having to roll back to the beginning and restarting everything. The prefered syntax is:
      BEGIN TRANSACTION;
      SELECT foo FROM bar;
      SAVEPOINT selectOK;
      INSERT INTO bar (foo) VALUES (1); -- duplicate error, roll back to savepoint
      ROLLBACK TO selectOK;
      UPDATE bar SET foo = foo + 1 WHERE xyz;
      COMMIT;

    7. Re:Tools by einhverfr · · Score: 1

      That was my understanding, too... So what's this point-in-time recovery and what's it do better?

      As its name implies, it allows you to recover your database to a specific point in time. This allows you to recover from an accidental DELETE FROM important_table or other user errors as well as hardware failures, etc.

      --

      LedgerSMB: Open source Accounting/ERP
    8. Re:Tools by einhverfr · · Score: 1

      MySQL is still popular with ISP's IMO because that is what they know and there are many applications which support it.

      PostgreSQL has as many or more and better recovery tools than MySQL today. Many of these are add-ons, however.

      I also haven't had any trouble with the Cygwin implimentation except that it is remarkably difficult to set up. I do understand, however, that it doesn't scale well. The native Win32 implementation should be interesting to watch.

      I would *highly* suggest looking at PostgreSQL. It is a very nice RDBMS.

      --

      LedgerSMB: Open source Accounting/ERP
    9. Re:Tools by eakerin · · Score: 1

      What you're talking about is log shipping. While the WAL files will work for this, there are a few pieces missing to make it work at the level of other RDBMSs.

      From my expirements, you can setup a nice log shipping setup. But if you have any intermittant failure of your backup system, You'll basically want to rebuild the backup database from a copy of the master.

      There are a few posts about this on the pgsql-hackers mailing list. As well as a post about a possible long-term method of doing log shipping, but I really doubt that fix is gonna go into 8.0 final.

      So in other words, you can do log shipping, but it might just be better to use the replication features for a backup system right now.

    10. Re:Tools by bovinewasteproduct · · Score: 1

      I've "played" with it here.

      Still a little rough, but better than what some other systems have (ie nothing).

      BWP

    11. Re:Tools by tgl · · Score: 1

      > Recovery tools for example as well as multiple user support keep mysql more popular among ISP's.

      Would you rather have a recovery tool, or would you rather not need it?

      The reason there is no pgsql-fsck is that there are no known predictable failure modes, accordingly no cases that can be fixed by a non-AI-complete piece of software. We prefer to spend our development time on getting rid of bugs than on developing workarounds for bugs.

      As for multiuser, I really have no idea what you're talking about there --- Postgres has no problem supporting multiple users. Can you enlighten me on what MySQL does better in that area?

    12. Re:Tools by Sxooter · · Score: 1

      The main thing point in time recovery allows you to do is to backup your database to another machine, and ship the WAL files there. The, when a meteor hits your main production server in New York, you can replay the wal files on the backup machine in San Francisco and be back up to the exact point the machine in NY took a strike and shipped the last few bytes of data across the wire in the WAL files.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    13. Re:Tools by Sxooter · · Score: 1

      FYI, there are sucj recovery tools for PostgreSQL, but they are kept hidden away from general users and generally only considered useful to folks doing development who need to inspect what's in the table files. Do a google search for pgfsck...

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    14. Re:Tools by tgl · · Score: 1

      Which part of "recovery tool" didn't you understand? pgfsck is a useful low-level dump tool ... not my favorite, but okay ... but it makes no attempt to repair broken PG files. I don't know of any code that does so attempt, and (to repeat myself) I wouldn't trust it if it did.

    15. Re:Tools by tzanger · · Score: 1

      Ahh so point-in-time recovery essentially lets you have a remote WAL, so to speak. That is nifty. :-) Thank you.

    16. Re:Tools by Billly+Gates · · Score: 1

      Wow

      I am ignorant about sql programing but want to learn it when I have time.

      Writing a sql app that is efficiant i/o is hard and your comment in informative. I have probably learned more from you than some of my books.

      I would mod you up if I could.

  16. Re:Very little compelling reason to use MySQL anym by Anonymous Coward · · Score: 0

    You said 'In short' twice.

  17. Programmable GUI by bogaboga · · Score: 3, Insightful

    I am very very impressed by PostgreSQL. I am waiting for the geeks to slap a programmable GUI onto it. I know there are several that I can mention here, but none comes even half close to what M$'s Jet engine has with Access. I once tried to put together one with PHP but the project became very complex for my managing. I abandoned the effort. Slashdotters, can we start another project to put a decent GUI onto this DB engine? When that is done, business logic can be programmed at form level, reports can be done in XML and published to PDF, even better, error handling at form level with input masks etc can be done. And before you go on, I'd like to remind you that there is Kexi, pgAdmin and so many others. What do you think?

    1. Re:Programmable GUI by phobonetik · · Score: 1

      Nice idea... Can't Access be slapped on via ODBC or something? (However, I'd suggest you'd be wanting to put a webfront-end on it, and would be concerned with anything needing more than half a dozen simultaneous users with Access even to a DB like postgres)

    2. Re:Programmable GUI by twocents · · Score: 1

      It sounds as if you are talking about a reporting program, not a programmable GUI.

    3. Re:Programmable GUI by tzanger · · Score: 3, Informative

      What's wrong with Rekall, or perhaps OpenOffice's DB interface (it works very well too) or maybe even using Microsoft Access. There's a commercial one from the UK too but I can't for the life of me remember the right incantation to bring it up in Google.

      IIRC they are all programmable. Rekall's programmable in Python, OO in Java, Python and whatever else you can interface to it and Access in VB.

    4. Re:Programmable GUI by adam.skinner · · Score: 1

      Rekall is compatible with PosgreSQL.

    5. Re:Programmable GUI by 16K+Ram+Pack · · Score: 2, Interesting
      That sounds like a great idea. Create something a bit like a form/report/database tool to challenge the MS Access space, but add in a few other things...

      Open standards/source

      Web accessible, including management of the model and data.

      It's not just basic database management needed, it's things like form and report design, and "code behind". I've got some ideas.

    6. Re:Programmable GUI by eyeye · · Score: 1

      They do sound good I agree.

      TBH though we could do with a drop in replacement for access that uses a better DB backend (even mysql..) and has a VBA style scripting language etc.. so "apps" made in access can be ported super easily. Other languages e.g python, perl could also be available to make it more powerful and flexible.

      --
      Bush and Blair ate my sig!
    7. Re:Programmable GUI by sharkey · · Score: 2, Funny
      I know there are several that I can mention here, but none comes even half close to what M$'s Jet engine has with Access.

      Hundreds of unneeded parentheses and "DBA.everything"?

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    8. Re:Programmable GUI by MooCows · · Score: 1

      I am very very impressed by PostgreSQL. I am waiting for the geeks to slap a programmable GUI onto it.

      Perhaps Gnu Enterprise will suit your needs?

      --
      The path I walk alone is endlessly long.
      30 minutes by bike, 15 by bus.
    9. Re:Programmable GUI by beakburke · · Score: 1

      Can't OO.org use pgSQL through ODBC connectivity?

      --
      ----- Question authority, but not ours. Hate the man, but we're not him.
    10. Re:Programmable GUI by Ben+Hutchings · · Score: 1
      I am waiting for the geeks to slap a programmable GUI onto it. I know there are several that I can mention here, but none comes even half close to what M$'s Jet engine has with Access.

      There is no technical link between Access and Jet; they are just bundled together. You can use Access with pretty much any ODBC data source including PostgreSQL.

      When that is done, business logic can be programmed at form level

      Not a great idea.

    11. Re:Programmable GUI by aztracker1 · · Score: 1

      I can say that access provides a decent front end for other rdbms systems, as does vb itself... not the best choices for huge numbers of people/interactions at one time, but decent none the less.

      Have to agree that OOo, and other options work well as well, could also wrap any business logic into webservice/soap and maybe use XUL for client-side use...?

      --
      Michael J. Ryan - tracker1.info
  18. LiveJournal? by Anonymous Coward · · Score: 0

    livejournal editors choice is postgreSQL?

  19. LJ? by SlamMan · · Score: 1, Funny

    PostgreSQL has won the LJ Editor's choice award for database servers the second year in a row

    Who new LiveJournal gave out awards?

    --
    Mod point free since 2001
    1. Re:LJ? by RdsArts · · Score: 1

      More disturbing, they have editors? And you thought tech support was a bad job.

  20. Please, No More PostgreSQL Publicity by occamboy · · Score: 4, Funny
    All of this recent publicity around PostgreSQL is making me nervous. You see, I've been using PostgreSQL as both a database AND a clue test.

    PostgreSQL is an astonishingly great piece of software, one of the few best I've ever worked with.

    Thus, if someone tells me they're using mySQL, which is not nearly as powerful as PostgreSQL , I can immediately surmise many things about them, their organization, and their code.

    However, if PostgreSQL becomes well-known through all of this publicity, entities might inadvertantly start using it, making it more difficult for me to evaluate cluelessness.

    1. Re:Please, No More PostgreSQL Publicity by Phil+John · · Score: 1

      Thus, if someone tells me they're using mySQL, which is not nearly as powerful as PostgreSQL , I can immediately surmise many things about them, their organization, and their code.

      I can summarise this: Since MySQL is offered on most hosting packages out there as an option, and PostgreSQL is offered on very few, the company in question is trying to maximise their potential sales, a shrewd move.

      That is why techies do not make good CEO's, they usually (me included) want to implement what they see as the most elegant or techically superior solution, when that is often the one that will reduce profits.

      All of my companies products run on both PostgreSQL and MySQL since we want our customers to have a choice. With the additional benefits of PostgreSQL our app performs faster, but if you're using MySQL on a cheap hosting account you can still use our software. Best of both worlds.

      --
      I am NaN
    2. Re:Please, No More PostgreSQL Publicity by Anonymous Coward · · Score: 0

      Exactly right.

      All this publicity is worriesome. Its time for a "PostgreSQL Considered Harmful" article.

    3. Re:Please, No More PostgreSQL Publicity by Anonymous Coward · · Score: 0

      I'm doing research on hosting, and almost every barebones package now offers Postgresql.

    4. Re:Please, No More PostgreSQL Publicity by killjoe · · Score: 1

      In that case you can use firebird or SAPDB as a litmus test.

      --
      evil is as evil does
    5. Re:Please, No More PostgreSQL Publicity by aztracker1 · · Score: 1

      mySQL has better windows support for deloyment, administration, and the client connectors available in windows tends to work better...

      mySQL also tends to perform better for mostly-read situations, and situations where multitable transactions aren't really needed... there are a few other areas where mySQL does work better. I have mod points, but prefer to express my view in this one issue, instead of the 2 other mods I was going to make in this article.

      --
      Michael J. Ryan - tracker1.info
  21. Postgres Support by hopethishelps · · Score: 2, Informative
    Anyone point to any companies ready to provide PostgreSQL support?

    Google for Postgresql support and you'll find lots of support, including but not limited to:

    1. Re:Postgres Support by einhverfr · · Score: 1

      Fujitsu is starting to support PostgreSQL also on their hardware.

      --

      LedgerSMB: Open source Accounting/ERP
    2. Re:Postgres Support by jadavis · · Score: 1

      http://www.agliodbs.com/

      They also support PostgreSQL. Josh Berkus, a member of PostgreSQL core, owns it. Please correct me if I'm wrong.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  22. Oh look, some sibling rivalry. by phobonetik · · Score: 2, Insightful
    Ahhh the debate returns. MySQL and PostgreSQL are really no different than debating linux distrubutions and (possibly) operating systems; they have been formulated to do quite different things, and different people favour them for different reasons. However, once you have begun to use one or the other, and you begin to understand how you bend it for what you want done, I think you simply trust it and favour it over the alternatives. I think this expalains why I've personally always preferred MySQL. Possibly just fate just gave me better luck with it; however I always found it easy and assuring that I can reliably install, upgrade, dump, restore, configure, repair, manage (phpmyadmin and the like), and design apps which run fast using it. While I have come across SQL limitations, it meant I merely shoved the logic back into the language that was calling the SQL in the first place. And we can presume that these things give us an indication to the priorities of the MySQL development team.

    Postgres has caused me alot of stife in installation, and their dump/restore scripts to this date still seem unreliable, which sure, may be due to that Debian Stable still being on 7.2 and I've never had the necessity to try out more recent releases.

    However, there's many very cool things I hear you can do with it - I simply don't use them :P I also think that the fact that postgres and mysql both compete is great - it motivates both teams to continually improve. In summary, I have found MySQL to work perfectly in creating a leading edge content management system (http://www.silverstripe.com/); one where the development, selling and implementation of it has created jobs and forms a whole business. But I'm sure if Postgres had walked in the door four years ago and I had a more positive experience, I'd be touting that over Mysql in the same subjective vein.

    1. Re:Oh look, some sibling rivalry. by vegaspctech · · Score: 1

      MySQL and PostgreSQL are really no different than debating linux distrubutions and (possibly) operating systems; they have been formulated to do quite different things, and different people favour them for different reasons.

      I do believe you are correct, sir. I think it's often that A is better than B arguments are ultimately along the lines of chocolate is better than strawberry or even chocolate is better than OSX. I also believe it must be a slow news day because we've seen this already.

      --

      Making the world a better place, one psychotic episode at a time.

    2. Re:Oh look, some sibling rivalry. by soloport · · Score: 2, Insightful

      If you really should be using flat files (for read-only "speed"?) but want to look SQL-cool, MySQL will win you over, hands down. But don't let the "SQL" in MySQL fool you.

      With simply a good understanding of normalization and implementing genuine relational transactions, try to get MySQL to "work".

      There truly is no comparison. They are not even siblings.

    3. Re:Oh look, some sibling rivalry. by Christopher+B.+Brown · · Score: 1
      MySQL and PostgreSQL are really no different than debating linux distrubutions

      No, the differences are quite consequential, much more like differences between Linux and (say) Windows.

      Consider:

      • PostgreSQL is developed as a community project. Some developers are sponsored by companies, much as is the case with most projects in the "open source community," but the results are essentially publicly owned.

        MySQL(tm) is none of the above; it is, altogether, a proprietary system closely held by a single small company, where all the developers are the employees of that company. There are, therefore, all the risks associated with the product being closely held.

      • When you look at different Linux distributions, they are deeply similar because probably well over 90% of the source code is plucked from the very same "rivers" of projects. All the distributions use some version of Linux, GCC, GLIBC, Perl, Python, Apache, GNOME, KDE, and such.

        Distributions have persistent differences in the form of installation tools, but that's a small portion of the system.

      • The technologies are really hugely different, as are the attitudes of the respective development "communities" towards relational database technology.

        The PostgreSQL team has a clear respect for the SQL standards, and prefer very much to conform to SQL standards. The MySQL implementors have had to be dragged, pretty much kicking and screaming, towards promising that they'll conform with ANSI some day. (Of course, that's likely to still have plenty of documented flaws.)

      --
      If you're not part of the solution, you're part of the precipitate.
  23. Oh, also by Anonymous Coward · · Score: 0
    Didn't quote this part in my above reply to you:
    Point-In-Time Recovery Increases Reliability
    Though PostgreSQL is very reliable, in previous releases there was no way to recover from disk drive failure except to restore from a previous backup or use a standby replication server.
    Point-in-time recovery allows continuous backup of the server.
    You can recover either to the point of failure or to some transaction in the past.
  24. Why reinvent the wheel? by Phil+John · · Score: 2, Informative

    Try out phpPgAdmin which does exactly what you were probably trying to set out to do in PHP.

    --
    I am NaN
    1. Re:Why reinvent the wheel? by Anonymous Coward · · Score: 0

      A) You didn't read his post
      B) You don't know what you are talking about.

      He clearly wants the Form/Reporting features of Access, not just the Admin tools.

    2. Re:Why reinvent the wheel? by ErikZ · · Score: 1

      Yeah, I tried that, because I really liked phpMyadmin.

      I'm still trying to figure out how to log into phpPgAdmin. Sigh.

      --
      Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
  25. I found the PostgreSQL book from SAMS to be a by Phil+John · · Score: 2, Informative

    good starting point, it's also on Safari so you could read it online.

    Here it is on amazon

    --
    I am NaN
  26. Re:Very little compelling reason to use MySQL anym by r3m0t · · Score: 2, Informative
    "you don't have to have an operator to alter a column's datatype: you just create the new column, copy the data into it, and then drop the old column, all within a single transaction, and if you screw up you can roll the whole thing back"

    Actually, from PostgreSQL 8 you can use ALTER TABLE.

  27. Right tool for the right job! by pedestrian+crossing · · Score: 4, Insightful

    If all you are doing is presenting web content without much in the way of heavy-duty transactional requirements (ie., no money is changing hands, mostly doing output as opposed to input), then MySQL is fine. Of course, PG would be fine as well. I don't get all of the zealotry on both sides. They are two fine databases, most stuff is not "enterprise" level requirements, so no suprise that you see MySQL all over the place. That doesn't make PG any "better" or "worse"!

    --
    A house divided against itself cannot stand.
    1. Re:Right tool for the right job! by AftanGustur · · Score: 1


      I don't get all of the zealotry on both sides. They are two fine databases, most stuff is not "enterprise" level requirements, so no suprise that you see MySQL all over the place. That doesn't make PG any "better" or "worse"!

      You are so right !
      In Economics you learn that "Quality" is defined by the consumer, not the producer or the industry.

      For the majority of people needing a database, a simple, small and fast database server is of higher quality than a more feature-rich slower and complex server.

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    2. Re:Right tool for the right job! by rycamor · · Score: 2, Insightful

      I would think that in Economics "value" is defined by the user. Quality is also an abstract concept, but it is definitely not defined simply by how many people choose something. Who would argue that McDonald's is high quality, even if they regularly eat McDonald's?

    3. Re:Right tool for the right job! by Anonymous Coward · · Score: 0

      Quality is actually defined by engineers as "fitness for purpose". Something can be high-quality but low-grade. A jaguar car is (or used to be) low-quality high-grade (it was made to satisfy the high end market, and was a high-grade product, but broke down every few miles, so low quality). A honda is high-quality low-grade ("cheap and cheerful").

      McDonalds, imho, is low-quality low-grade, though doubtless they'd assert they are high-quality low-grade.

    4. Re:Right tool for the right job! by sbergman2 · · Score: 0

      Oops. Looks like you haven't used PostgreSQL.

      It's really no more complex than MySQL. (Feature for feature, that is. Once you start *using* the more advanced features of pgsql, it might be more complex, simply because what you are doing is more complex.) MySQL's speed advantages over PostgreSQL are hearsay. Think about it. Have you ever actually seen any numbers? Actual benchmark comparisons are hard to come by. Actually, I have seen TPC-W results for the two on very low end hardware and they're head to head.

      Contrary to what all the PHP/MySQL books say, the features of pgsql can be quite useful, even if you are "just pushing out webpages". I know this quite well as I just ported my current project from MySQL 4.1.3 beta to pgsql 7.4.3 stable. My needs are quite simple, and I can say without any qualification that I have found pgsql to be of higher quality than MySQL.

  28. Re:Very little compelling reason to use MySQL anym by Anonymous Coward · · Score: 1, Insightful

    About the only thing that PostgreSQL is not is auto-adaptive.

    To some extent its query analyzer will "learn" about the tables in your database when you run a vacuum analyze.

    After any major change in the number of rows in a table, I always run a vacuum analyze. Aside from cleaning up some of the space leftover (only a vacuum full can clean up everything, but that requires locking the database) it will record new values for the relative sizes of tables, which the query analyzer then uses to determine join orders and such.

    It's not fully adaptive, but its a great help.

  29. Re:Very little compelling reason to use MySQL anym by smchris · · Score: 2, Informative

    And 8.0 will get you native Win32 support (with a point-n-click installer and everything, if I'm not mistaken).

    You aren't mistaken. The sort of install a Windows user will love -- although he will have to find PgAdmin III and create his own desktop shortcut. :) Pretty cursory look so far but I imported a db I'm working on from Debian and my more complex procedures ran fine.

    With features like point-in-time recovery, I think we are going to hear a lot more about PostgreSQL this year.

  30. And get rid of VACUUM by yem · · Score: 1

    Am I missing something here? Tried to use postgres as the backing store for a java message queue. This involves very rapid INSERT, UPDATE and DELETE operations. Found that it starts out at 100+ transactions per second but drops to less than 20 per second after just one minute. Have to VACUUM continuously just to keep the average up. This is not a solution. How about a table option to eliminate redundant tuples in realtime instead of when VACUUM is run? As it stands, pgsql is not suitable for persistance in message queues.

    PS: the PITR stuff in 8.0 is looking really good. Will have to work up some backup/restore shell scripts and give the beta a good workout.

    --
    No, I did not read the f***ing article!
    1. Re:And get rid of VACUUM by TheSunborn · · Score: 2, Insightful

      Whats the problem with running VACUUM? You just start VACUM as a cronjob. It's not as if it stops the database from working.

    2. Re:And get rid of VACUUM by JohanV · · Score: 5, Informative

      Continuous VACUUM actually is the solution. It just should be automatic instead of manual.

      Databases inevitably have some point in a transaction where they require 2 versions of the same row to be present in persistent storage (on disk). That obviously means that the old version (or the new version in case of a rollback) has to be removed at some point in time. Some databases choose to do this on transaction commit, adding a little bit of overhead to each transaction. Some databases choose to do this in a separate process at scheduled intervals, reducing the commit overhead but adding the overhead of having more versions on disk. PostgreSQL has choosen the second path, and VACUUM is the cleanup process.
      Which solution is the best depends on the requirements. As you have discovered, tables with a high turnover get easily bloated when the cleanup is not done frequently enough. The solution for that is to cleanup more often, with cleanup at commit of each transaction as the higher limit. But quite likely it is sufficient if cleanup occurs every X transactions or every Y seconds.

      The intention was to have the pg_autovacuum utility integrated in the backend to manage the vacuum process for all databases in a cluster. If enabled, it would allow for automatic vacuum and analyze on tables, with some logic to learn if tables are high-turnover or fairly static. Unfortunately, the patch for that didn't make it into the 8.0 beta.

    3. Re:And get rid of VACUUM by Unordained · · Score: 1

      The solution in Interbase/Firebird (original MVCC?) was to setup the 'sweep' process to run when too much of a difference exists between transaction numbers (old/new active/useful -- it's a mess). You can disabled it and run sweeps manually, and they're not needed if you backup/restore on a regular basis, but eh ... Firebird also cleans up unneeded record versions each time it reads a row (as I recall) to keep the db as clean as possible. That slows it down a bit on reads, but prevents rows from accumulating needlessly. What's not cleaned up by a read is cleaned up by a sweep later. (By the way, it's 2+ versions of a row -- if you have a long-running transaction in the background, there may be hundreds of record versions accumulating during that time.) Okay, so my memory of "how it works" is a bit fuzzy.

    4. Re:And get rid of VACUUM by jadavis · · Score: 2, Informative

      The "old" row cannot be deleted at transaction commit! Other transactions might still be reading it.

      That's why PostgreSQL has VACUUM.

      Moreover, VACUUM by itself just marks a row in the Free Space Manager (FSM) as free and writes over it at the next opportunity. VACUUM FULL will actually shrink the size of the table if that's what you need.

      VACUUM should be automatic though, and eventually will be.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    5. Re:And get rid of VACUUM by Christopher+B.+Brown · · Score: 1
      I have done some work on pg_autovacuum, but have been not entirely thrilled with it, and, furthermore, am really not thrilled with the integration with the backend.

      We have numerous servers that run a bunch of backends (so that each one has its own cache; ARC in 8.0 may relieve that need somewhat), and something we don't want is to have big vacuums chewing up I/O bandwidth on multiple backends concurrently.

      I'd much rather have a "user space" daemon, so to speak, that can manage vacuums for multiple backends.

      This also has much the same merit of having things run in user space rather than in the Linux kernel. It's much easier and safer to write user space code because it's not sitting in the kernel, where a single bad pointer reference can trash the system.

      The architecture I'm thinking of is to have

      • A "queue" of tables and databases needing vacuuming
      • A process that checks activity on pg_class and pg_database to find work
      • Something analagous to a crontab indicating both tables that the DBAs know should either be frequently vacuumed, or never vacuumed

      The "queue" would serialize the activity, thereby limiting the degree to which vacuuming would injure overall system activity, across all instances.

      With 8.0, there's actually two ways that this becomes better still...

      • The ARC revisions means that vacuums don't trash buffer caches
      • There's a "sleepy vacuum" thing that was almost added to 7.4 where you can set vacuums to sleep a few milliseconds every few blocks.

        That cuts the I/O consumption of vacuums.

      That resolves the two things that were badly wrong with vacuuming too much.

      Building this "Nothing Sucks Like A VAX" vacuum system, will, however, have to wait 'til I get the set of Slony-I configuration tools fully up to "production desires" as well as doing the Next Generation Replication Monitor ...

      --
      If you're not part of the solution, you're part of the precipitate.
    6. Re:And get rid of VACUUM by Sxooter · · Score: 1

      There's a "sleepy vacuum" thing that was almost added to 7.4 where you can set vacuums to sleep a few milliseconds every few blocks.

      It was added, it's just set to 0 by default, disabling it. But it's still in the code.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  31. PostgreSQL recovery model by azaris · · Score: 1

    I looked at the documentation and something was left unclear. I understand that backkups are made using the pg_dump command to script the entire database to stdout. Does PGSQL have the ability to do incremental backups consisting only of the transactions since the last pg_dump or do you have to take the full backup every 30 minutes or so, which sounds hugely wasteful?

    1. Re:PostgreSQL recovery model by bovinewasteproduct · · Score: 4, Informative

      Prior to 8.0 you just about had to do that, but with the ability to use gzip to compress your archives, it was not too bad unless you had lots of bytea or blobs in the DB.

      But with the advent of Point-in-Time recovery in 8.0 thats changed. With the new utils you can make a dump of the system and just copy it and the WAL files around. Database crash (that is not handled automaticly)? Just load the backup and replay the WAL files to whatever point in time you want them. You can even use partial WAL files.

      BWP

    2. Re:PostgreSQL recovery model by Anonymous Coward · · Score: 1, Informative

      PG 8.0 now has point in time recovery and ofcourse fancy stuff with the write ahead log. Theres a script out there somewhere where someone has really hammered the PITR stuff but i cbf looking for the link ;P

  32. And quite rightly so. by Anonymous Coward · · Score: 4, Interesting

    PostgreSQL has, for some time, been more scalable and more reliable than MySQL, which is, IMNSHO, a mere toy by comparison. I've pushed PostgreSQL to several major corporate clients, who have been more than happy with it (indeed, some have added stuff on and pushed the changes back to the main source base, something I would not have considered likely from the sort of corporates I'm talking about)

    Hell, it's even for simple, single-user database apps, especially when linked to a good ORM layer (EnterpriseObjects/GNUstep DB et al). Why more people doing web development don't push it, I don't know. Everything's bloody MySQL. Blech.

  33. You are thinking backwards. by Anonymous Coward · · Score: 0

    People don't get a host, and then decide they want something to be hosted, that makes no sense. They get whatever "app" your php scripts are, and then find a host who will support that. There's tons of postgresql hosts, so that's not an issue. People typically have a hard time only if they try to find the cheapest $3/month hosting possible, instead of going to a real host who has a clue what they are doing, and can install perl modules, maintain database servers, etc.

    1. Re:You are thinking backwards. by Tony-A · · Score: 1

      People don't get a host, and then decide they want something to be hosted, that makes no sense.

      True, ONLY if there is ONE thing hosted.

      The decision of where to host will be made, if technical factors are even considered at all, based on the initial guess at requirements.
      As requirements are ADDED to the existing set, periodically the question of whether to stay or to move will be examined, with inertia and fear of the unknown tending toward staying. The problem with moving is that everything you do not know is capable of wrecking havoc.

      The problem with "the right tool for the job" is that there are many jobs and only a very limited amount of space in the toolbox.

  34. Oracle... by starseeker · · Score: 1

    Here's the question I find interesting. PostgreSQL is widely considered to be an awesome database system. What does Oracle have that PostgreSQL doesn't? What else does PostgreSQL need to be considered the equal or better of Oracle?

    --
    "I object to doing things that computers can do." -- Olin Shivers, lispers.org
    1. Re:Oracle... by chthon · · Score: 3, Interesting

      • Support for more compiled programming languages : Ada, Cobol
      • Clustering/distributed database

      I am sure that there are people who know other things.

    2. Re:Oracle... by Serveert · · Score: 1

      oracle supports multimaster
      uses direct / raw i/o

      --
      2 years and no mod points. Join reddit. Because openness is good.
    3. Re:Oracle... by Anonymous Coward · · Score: 0

      Oracle has which PostgreSQL is missing:
      distributed databases and parallel query support,
      much more data warehousing support,
      bitmap index support (again, key for warehousing and other specialty domain),
      partitioned table support,
      better, richer, diagnostic and statistical gathering facilities.

      That's about all that I can think of.

    4. Re:Oracle... by killjoe · · Score: 2, Informative

      First and foremost it has merge replication and real application clustering. Of course you need to spend buttloads of money to get the clustering. It's also extraordinarily self aware. For example you can have oracle email you the list of 10 slowest queries that ran yesterday. It's full of amazing stats about itself that really helps the DBA out when they are trying to troubleshoot weird problems. Oracle also has tons of other features such as dealing with XML data using SQL or xpath queries.

      To be fair postgres has some features oracle does not. Things like user defined operators and aggregate fuctions for example. With postgres you can also write code in C and call it from an SP, pretty powerful even though it's quite dangerous.

      Postgres is great and it will probably meet the needs of 99% of the people on this planet but if you are amongst the 1% that need oracle nothing else will do.

      --
      evil is as evil does
    5. Re:Oracle... by jadavis · · Score: 2, Insightful

      uses direct / raw i/o

      That has been hashed out on the mailing lists time and time again.

      PostgreSQL is not a filesystem.

      Where is the real use-case? There is a huge amount of extra code and extra bugs, and a minor performance optimization at BEST.

      Additionally, PostgreSQL would then not be able to make use of OS disk buffers.

      So, it would ONLY be useful as a MINOR performance optimization on PostgreSQL only machines, running NO other applications. All that at the cost of so much code and so many bugs?

      You could just as well argue for any application that it should implement it's own OS and filesystem.

      That being said, I'm sure that some people benefit from the Orcale feature. I doubt you'll see it in PostgreSQL any time soon though.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    6. Re:Oracle... by TheLink · · Score: 1

      Can you rollback a "DROP TABLE" in Oracle?

      You can do that in Postgresql.

      --
    7. Re:Oracle... by killjoe · · Score: 1

      Not quite a rollback but you can do point in time recovery.

      As I said though there are some features in pgsql that are not in oracle and visa versa. What do you need more? Ability to roll back a drop table or merge replication, ability to deal with XML data, great optimizer, and detailed stats about what your database engine is doing.

      --
      evil is as evil does
    8. Re:Oracle... by Anonymous Coward · · Score: 0

      One critical feature that postgresql does not support is hot backups, i.e. making a consistent copy of the database while the database is open.
      pg_dumpall is not a backup. The postgresql documentation says that you 'may have to edit the dump file'. I can just imagine how long if at possible a 300 gigabyte datatabase would take to recover using a dump/export of the database.

    9. Re:Oracle... by Serveert · · Score: 1

      I've seen dedicated oracle machines make use of raw / direct I/O but of course these were huge >=8 way systems supporting ATT, Sprint, MCI etc. Most DB requirements aren't so demanding.

      --
      2 years and no mod points. Join reddit. Because openness is good.
  35. Old News by Anonymous Coward · · Score: 0

    A story on the Linux Journal Editors Choice awards were already posted weeks ago and now some Postgres fanboy got this duplicate posted.

    Do Slashdot editors even read Slashdot?

  36. only to the novices by kpharmer · · Score: 4, Informative

    You can always dismiss any heated debate as simply a result of nit-picking or personal preferences.

    However, the differences here are quite substantial. And it isn't really 'mysql vs postgresql' - it's more like 'mysql vs inexpensive standards-compliant database solutions'. What really irks most experience database developers about mysql is that mysql abandoned decades of standards and standard features - while insisting that 90% of the users didn't need transactions, triggers, views, etc. That's disingenuous misinformation.

    mysql still has a role out there - since it has such a wide host base and so much 'mind share'. But this is all marketing. In almost any technical comparison, Postgresql now comes out on top.

    Furthermore, since postgresql is very similar to other relational databases - migration between it and oracle, db2, sql server, etc is relatively painless (unless you went overboard on stored procs, etc). This means that your investment in postgresql is fairly 'future-proof'. If on the other hand, you've gone with mysql, you will always have a more difficult migration - and may fail to get anticipated performance benefits since you are probably using the target database is a way not recommended by its vendor (joining inside application rather than inside sql, etc). This is especially true of the many mysql applications out there that believed MySQL AB when they told people that 90% of the applications didn't need transactions (!)

    Of course, you can wait for mysql to catch up to everyone else in the database features area, and perhaps they'll try to become more standards compliant along the way. But that's going to be a tough slog for them, probably involving a complete rewrite. Could take quite a while, and there may be no easy transition for today's mysql apps.

    Sibling rivalry? hardly

    1. Re:only to the novices by killjoe · · Score: 2, Insightful

      "What really irks most experience database developers about mysql is that mysql abandoned decades of standards and standard features - while insisting that 90% of the users didn't need transactions, triggers, views, etc. That's disingenuous misinformation."

      What's even worse is that they are now scrambling to add all that after years of arguing it was pointless to do so.

      After they add triggers, views, stored procs what they will have is just another OSS database in a field already crowded with extrememly capable databases such as postgres, sapdb, firebird, and now ingres. They should just keep mysql the way it is, a lightweight SQL interface to the filesystem. There is a role for that in building read-mostly web sites.

      --
      evil is as evil does
  37. Re:Postgresql helps Linux pentrate corporates by danharan · · Score: 1
    I was able to get approval for my company's first Linux server, mainly on the basis of the cost savings from database licensing.
    I decided to look at what the prices were, and holy shit!

    The "How to buy" page definitely needs the FAQ.

    In comparison, the many OSS licenses don't seem so bad/complex after all, and at least the price is right.
    --
    Information: "I want to be anthropomorphized"
  38. Well by Anonymous Coward · · Score: 0

    it was the same people who old LiveJournal.

  39. Wheelbarrow? by gbjbaanb · · Score: 0, Offtopic

    What's with the icon for Databases? A wheelbarrow (a very nicely rendered wheelbarrow though).

    Surely a filing cabinet would have been a more intuitive choice.

    And a stapler as the IT icon? what's going on with /. icons?!

    1. Re:Wheelbarrow? by drewness · · Score: 1

      No clue on the wheelbarrow, but the red stapler for IT would be a reference to the movie "Office Space".

  40. Offentimes... by Phil+John · · Score: 1

    ...people already have their site hosted and then decide to add functionality to it, e-commerce, CMS, CRM etc., at this point, I'd rather be able to sell them something that runs on their system, than telling them that their provider sucks and they have to move. They'll just go with another solution.

    Moving hosting isn't something most non-technical people will consider unless they can see a clear reason to (blocked by spews, continual downtime etc.).

    The best solution is when we host for customers, because we know that they will not only be getting top-notch service, but a top-notch service that has been tailor made for our software.

    As I said before, it's a moot point, our app works on both MySQL and PostgreSQL, but it's like releasing software for windows only (the MySQL of the OS world), lots of people do it because that's a large portion of the market taken care of. We go the extra mile and support postgre too, but many don't.

    --
    I am NaN
    1. Re:Offentimes... by einhverfr · · Score: 1


      As I said before, it's a moot point, our app works on both MySQL and PostgreSQL, but it's like releasing software for windows only (the MySQL of the OS world), lots of people do it because that's a large portion of the market taken care of. We go the extra mile and support postgre too, but many don't.


      I recently dropped MySQL support from my CRM suite. I needed functionality which was going to be difficult to develop on MySQL and straightforward on PostgreSQL.

      Of course, such an application can be hosted by a different provider. I.e. Your CRM app can be hosted by someone who only hosts that app, while your web site is somewhere else.

      Why support MySQL if you suddenly need unions?

      Best Wishes,
      Chris Travers
      Metatron Technology Consulting

      --

      LedgerSMB: Open source Accounting/ERP
  41. RDBMS vs OS by SSpade · · Score: 1

    In this case it's more a case of, ooh, "DOS is better than BSD".

    MySQL is the DOS of databases. Lightweight, runs reasonably quickly. Very, very feature-limited. When anything goes wrong, you lose your data - but there's always Norton Utilities to help you recover some of it. Doesn't require much skill to install or maintain. Acceptable if you need very little in the way of functionality in the OS/DB - either because you just don't need it in your application, or because you're prepared to expend the effort to implement the functionality at the application level (badly).

    PostgreSQL is the BSD of databases. Ridiculously full-featured. Rock-solid and stable. Based on a long history of development. Requires a little more technical clue to install and maintain, but the huge benefits make that investment more than worthwhile. And, while it takes a little longer to learn the more sophisticated ("real SQL"(tm)) features, once you learn to use them you can easily do things that would be incredibly difficult, or even impossible, using DOS^WMySQL. Not heavily marketed, nor does it have a sizable fanboy base, relying rather on technical excellence to grow mindshare. Used by those who understand that the quality of the tool outweighs the lack of hype.

    Oracle is the Solaris of databases. Long commercial history. Easy to find DBAs - but they're mostly expensive, and you need them to keep it running happily. Support is available, and needed. Wonderfully stable in production, as long as you don't mess with it too much. Extremely powerful, but few people actually like using it.

    MS SQL used to be like NT 3.51 or NT4. Ugly, but stable. Now it's more like Windows 2000 - some significant, and very nice, technical engineering improvements under the covers, making it a pretty good workhorse, but nobody really notices them because they're distracted by all the updated chrome.

    I'm less familiar with either DB2 or AIX - but what little I do know suggests that they'd make a good pair.

  42. Re:PostgreSQL is an excellent DB - mod up by Anonymous Coward · · Score: 0

    please mod parent 'informative'

  43. Re:Very little compelling reason to use MySQL anym by soloport · · Score: 1

    Thank you so much for that post. You put into words what I've experienced, daily, but could never summarize so well.

    Now I have a useful link to send to friends who are struggling with the MySQL / MS-SQL / Postgres decision. Do you write books, too? You should.

  44. This is...really old... by mrfibbi · · Score: 1

    This article isn't so much breaking news. The actual hard copy of this article came out about a month and a bit ago.

  45. Speed v. Speed? by Anonymous Coward · · Score: 0

    I have a serious question, and not to poke at the possibility of flamebait, but can anyone give me some real world information about the speed of either? I hesitate to look at either site because I can assume all I will be greeted with is the same FUD from both camps. Are both about the same speed wise? Is pgSQL better beause of the way it handles certain things? Is MySQL just for the "kids" before they finally get a clue? What's the scoop here?

    1. Re:Speed v. Speed? by sbergman2 · · Score: 0

      > because I can assume all I will be greeted with is the same FUD from both camps

      Actually, I don't think either site even mentions the other.

      I have been looking around for performance comparisons and have found very little. A TPC-W implementation exists which supports both MySQL and PostgreSQL. I've run the pgsql config, but have been unable to get the MySQL config to run, so I don't have a comparison of my own yet. The author of the implemetation wrote somewhere that on low end hardware (I think it was a pentium II something with 384MB) that the 2 RDBM's were head to head. With pgsql not using pgpools (a connection pooling layer) MySQL was slightly faster. With pgpools, pgsql pulled ahead slightly. I believe the versions involved were psgql 7.4.x and MySQL 4.1.x, so it's pretty current.

    2. Re:Speed v. Speed? by sbergman2 · · Score: 0

      Ahh, there it is: http://archives.postgresql.org/pgsql-advocacy/2004 -08/msg00030.php

    3. Re:Speed v. Speed? by jadavis · · Score: 2, Interesting

      Any speed advantage MySQL has is only realized by using MyISAM tables rather than InnoDB tables. However, you sacrifice many of MySQLs newer features (like transactions) by using MyISAM.

      Other than that, they are reasonably close in speed. However, I trust PostgreSQL to have better worst-case performance, and better query planning.

      It depends on many factors and you should examine your application needs. You should also examine factors other than performance. Sometimes the performance might be similar, but PostgreSQL provides many more options that take burden away from the application, meaning that PostgreSQL might be a big performance win.

      In a recent project I did that was DB-intensive, it turned out that PostgreSQL was much faster because of complex queries and the reduced amount of processing my application needed to do (with MySQL I needed to transform the data in my application after I got it from MySQL). I was also able to optimize queries by implementing user-defined aggregate functions (which answered some specific needs from my application).

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  46. What about pgaccess by einhverfr · · Score: 1

    Seems to be nearly similar to MS Access, albeit a little harder to write for. It is fully programmable in TCL/Tk.

    --

    LedgerSMB: Open source Accounting/ERP
  47. Re:Very little compelling reason to use MySQL anym by nikolic · · Score: 1

    I beleive the largest reason that MySQL is the favorite open RDBMS is that it is far easier to install on Windows. Once PostgreSQL has a good Windows port, the other features will be more appreciated.

  48. Postgresql SDBC Driver by Anonymous Coward · · Score: 0

    "The postgresql SDBC Driver allows to use the postgresql database from OpenOffice.org without any wrapper layer such as odbc or jdbc."
    http://dba.openoffice.org/drivers/postgresql/

  49. The hardest thing by reboot246 · · Score: 2, Funny

    is learning how to pronounce it.

    Hell, I just learned how to pronounce MySQL.

    --
    Solitary, self-taught geek.

    1. Re:The hardest thing by Electroly · · Score: 1
      Not really *that* difficult. First item on their FAQ...

      1.1) What is PostgreSQL? How is it pronounced?

      PostgreSQL is pronounced Post-Gres-Q-L. An audio file is available at http://www.postgresql.org/postgresql.mp3 for those would like to hear the pronunciation.
      :-)
  50. Re:Very little compelling reason to use MySQL anym by jadavis · · Score: 1

    I would like to add also that some databases expect you to give planner hints or they preplan queries.

    PostgreSQL uses up-to-date statistics to plan each query, meaning that when the data changes, the plans change also.

    If you rely on planner hints and preplanned queries, then those hints or plans can become out of date, and slow you down.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  51. If OSes were automobiles... by vegaspctech · · Score: 1

    ...I'd ride in any of them rather than walk fifty miles. I hate the if-OSes-were-automobiles type argument because it doesn't really say anything about OSes, or even automobiles. It's a purportedly cute, definitely tired, roundabout way to say 'people who are cool use what I do', but that's all it says.

    But for the sake of argument, let's assume you are correct in that PostgreSQL is the BSD of databases. What does that mean, really? At a glance Netcraft data suggest that your site enjoyed better uptime when it sat on Linux. And what it's been doing since it was switched back to FreeBSD is often bested by [gasp] a couple flavors of Windows. Would you refer to a better-than-PostgreSQL solution as the Linux of RDBMSes or the Windows of RDBMSes? And is that why word-to-the-wise.com sits on Linux instead of FreeBSD? ;-)

    All kidding aside, even were I to accept your assessment that MySQL is the DOS of RDBMSes while PostgreSQL is the end-all, be-all of RDBMSes, it wouldn't alter my position that most product arguments are ultimately along the lines of chocolate is better than strawberry. Most people tend to forgive or deny the shortcomings of the product they know, because they know it, and will tell you that you're cool if you use it, because they use it.

    --

    Making the world a better place, one psychotic episode at a time.

    1. Re:If OSes were automobiles... by Anonymous Coward · · Score: 0
      But for the sake of argument, let's assume you are correct in that PostgreSQL is the BSD of databases. What does that mean, really?

      Well of course, it means:

      It is now official - Netcraft has confirmed: PostgreSQL is dying

      Yet another crippling bombshell hit the beleaguered PostgreSQL community when recently IDC confirmed that PostgreSQL accounts for less than a fraction of 1 percent of all database servers. Coming on the heels of the latest Netcraft survey which plainly states that PostgreSQL has lost more market share,
      this...

      and so on :-)
  52. That can't be right... by grcumb · · Score: 1

    My first thought on reading the headline was:

    "Why is LiveJournal recommending database servers?"

    My second thought was:

    "LiveJournal has EDITORS?!!??"

    --
    Crumb's Corollary: Never bring a knife to a bun fight.
  53. Re:Postgresql helps Linux pentrate corporates by dtfinch · · Score: 1

    SQL Server Enterprise Edition: $19,999 US per processor

    That's probably $5k higher than I thought I remembered it being. They're no Oracle. And any server worthy of such an expensive database is going to have more than one processor. Who ever said nobody ever gets fired for recommending Microsoft?

  54. postgresql challenge. by Anonymous Coward · · Score: 0
    ok. I've got an 800 gigabyte database with 550 million rows in one of the tables. I need to be able to backup the entire database file set while the database is open because I need 24x7 availablility. I need to be able to restore the entire database in 30 minutes or less (from mirrors and log files) if there is a failure.

    If postgresql cant support this basic requirement, it is not an enterprise-class database.

    1. Re:postgresql challenge. by Just+Some+Guy · · Score: 1
      No kidding? Where did you get that RAID that can support 455MB per second of writes sustained for 30 minutes, which is what it would take to do a bare-metal recovery of 800GB in 1800 seconds?

      Go back to playing with Access and dreaming big while the rest of us get work done, would you?

      --
      Dewey, what part of this looks like authorities should be involved?
    2. Re:postgresql challenge. by tgl · · Score: 1

      I'm not sure why I'm bothering to reply, when you're so obviously a troll who can't do basic arithmetic, but the various possible approaches for backup/restore in Postgres are described in http://developer.postgresql.org/docs/postgres/back up.html. The PITR-related options are new as of 8.0, but we have always had some form of hot backup.

    3. Re:postgresql challenge. by Anonymous Coward · · Score: 0

      Idiot. Give the hardware and Postgres will do.

    4. Re:postgresql challenge. by Anonymous Coward · · Score: 0

      it's called a hitachi 9570 array with shadow image copying (fibre channel SAN).

    5. Re:postgresql challenge. by Anonymous Coward · · Score: 0

      a 'dump' is not a backup. it is an extract of the database. I'm sure it works fine for tiny database 'clusters' but how long does it take to restore even a 100 gigabyte database?

    6. Re:postgresql challenge. by Anonymous Coward · · Score: 0

      I guess I should have realized that you trolls have never used anything bigger than microcomputers. Where did RAID enter the picture? I'm talking about fibre channel arrays with large caches. kid. methinks you are the Access 'developer'.

    7. Re:postgresql challenge. by Anonymous Coward · · Score: 0

      show me the proof. test it. I have. by the way, the upcoming 8.0 beta doc backup and recovery has insights on this. read the section 'online backups'. great! they finally support hot backups.

    8. Re:postgresql challenge. by Anonymous Coward · · Score: 0

      well, kid, someday when you get your hands on a server that has more than 1 disk in it you'll learn about 'striping' !