Slashdot Mirror


PostgreSQL 7.4 Released

Christopher Kings-Lynne writes "PostgreSQL 7.4 has just been released. The list of new features is impressive and includes greatly improved OLAP performance among many other speed improvements."

451 comments

  1. This could be good... by PurdueGraphicsMan · · Score: 1, Interesting
    I wonder if the minor speed improvements will be enough to silence the people that talk about how MySQL is better because "it's faster"? If there was neglibable difference in speed before, shouldn't this new release of Postgres be faster than MySQL?

    This might also be a good time for the developers working on phpPgAdmin to create a new version that rivals phpMyAdmin in functionality.

    --


    The guitars sound good, now give me about 10db more on the cow bell.
    1. Re:This could be good... by Docrates · · Score: 5, Insightful

      If you ask me, I'm glad that people opine and wage war when it comes to PostgreSQL vs. MySQL. MySQL has done for PostgreSQL what windows has done for Linux: make it want to thrive, compete and prosper.

      This is also why Microsoft WANTS there to be an enemy: they need someone to compete against to continue improving their product (which they do, even if we hate to admit it).

      If you don't believe me, ask Dubya.

      --

      There are two kinds of people in the world: Those with good memory.
    2. Re:This could be good... by grub · · Score: 4, Funny


      This is also why Microsoft WANTS there to be an enemy

      Umm.. In the enterprise db market there is a little company called Oracle...

      --
      Trolling is a art,
    3. Re:This could be good... by phlyingpenguin · · Score: 5, Interesting

      I'm using Postgres in a company that analyzes statistics, and maintain a ~250GB db. Trust me, when you're talking about doing a seq. scan on 250GB of data, the preformance differences are MUCH more than minor. The reports of speed increases don't cite minor increases either, they cite really major changes.

      Taken from the presskit:

      PERFORMANCE
      Several major performance enhancements have been added in version 7.4, enabling PostgreSQL to match or exceed the speed of other enterprise database systems. These include:

      * Hash aggregation in memory to make data warehousing and OLAP queries up to 20 times faster;
      * Improvements in subquery handling by the planner resulting in up to 400% speed increases in some complex queries;
      * New script to set more reasonable postgresql.conf defaults for shared buffers, yielding better "out of the box" performance;
      * New wire protocol (version 3) increases the speed of data transfers;
      * Enhanced implementation of functional indexes allows better indexing on custom data types and composite fields;

    4. Re:This could be good... by Anonymous Coward · · Score: 0


      Strange, will I?

      I know where you sedate the hyenae for their semen withdrawl, I've even videotaped it; look on Kazaa for "PurdueGuySucksSemenFromHyenaAndInjectsIt.mpg" if you don't believe me.

    5. Re:This could be good... by Hypocritical+Guy · · Score: 0, Troll

      You are being cyber-bullied. Don't take any guff from these swine. They are just a bunch of scrawny geeks with small penises. If it were me, I'd put the link back on, put it in my sig as well, and tell these little shitbags to suck my fucking dick.

      --
      If you liked licking my balls, add me to your foes list!
    6. Re:This could be good... by Anonymous Coward · · Score: 0

      I thought steroid abuse shrank your penis. So these would be scrawny geeks with average, unshrunk penises. (And still good targets for "MAKE PENIS FAST" spam)

    7. Re:This could be good... by WhiteDragon · · Score: 1

      ouch, a seq. scan of 250GB of data. What kind of indexes are you using? I would think the query planner would opbimise this. On the other hand, if you need to (for instance) enumerate all the records, then I don't think hashing would help :-) (Now sorting would be a different story)

      --
      Did you mount a military-grade, variable-focus MASER on an unlicensed artificial intelligence?
    8. Re:This could be good... by phlyingpenguin · · Score: 1

      It was exaggerated a tiny bit, the table in question is only 160GB, however after we've joined it with with a few other tables, there's 250GB worth of tables in the picture. We aren't using GiST or full text, rather we're indexed based on a unique identifier integer. I didn't like much what the manual said about the hash preformance/disk usage, nor did I like what I read on theory of GiST indexes. In certin cases it will still use a seq. scan, which are outlined in the BTree index area of the manual depending on how the data is selected. It's something like all queries that are using <, <=, =, >=, > on the indexed field.

    9. Re:This could be good... by DJ+Spencer · · Score: 0
      This is also why Microsoft WANTS there to be an enemy: they need someone to compete against to continue improving their product (which they do, even if we hate to admit it).

      I admit it - but I want to know why some companies add functionality while leaving some code broken.

      A fine example of this is ICQ. The original product, which (for those of us with 6 digit UIN know) was simple and elegant with a few bugs - well not it has evolved to a monster of a chat program, with features most of us couldn't support if we wanted to.

      Just my two sense.

    10. Re:This could be good... by 10bt · · Score: 1

      ...people that talk about how MySQL is better because "it's faster"?

      faster in what?? that's such a blanket assessment, and if they think that way then there's a good chance these same people never gave postgres the time of day, much less even downloaded it.

      these people also probably never read that phpbuilder article. now i'm not saying this is the end-all postgres/mysql shootout, but it does give another perspective on this debate.

      i'll put my money on postgres any day. it's been around longer. more enterprises think it's more robust.

    11. Re:This could be good... by kfg · · Score: 3, Informative

      Yes, MySQL is small, light and fast and I use it as my general light duty DBMS, but I'm not religous about it. When the going gets tough I switch to something tougher.

      Looks, it's not because you can't do things with MySQL. It's how you have to go about doing them. That lightness and speed comes at a price, it's an engineering tradeoff. There's no such thing as a free lunch and all that.

      What it gives up is intergrety constraints. If you don't spend the cycles to insure data integrity you can be smaller and faster.

      So let me ask you, how fast do you want your data munged?

      If you don't want your data munged at all and you're using MySQL you need to pass off integrity issues to your app. Well, there you are using cycles again. The DBMS is faster, but now your app is slower (yes, you're still saving a bit of disk access time, which can add up. That's a flaw in SQL itself. There are alternatives.). More importantly you're using your time as a developer to reinvent the integrity constraint wheel in every app. Coding time goes up. Bugs go up. Support issues go up. All to accomplish something that is a logical function of the DBMS. That's why we call them a DBMS in the first place. It has been argued that MySQL doesn't even meet the definition of a DBMS.

      Once I had data
      My DBMS munged it
      But damn it was fast!

      Again, don't get me wrong, I use MySQL, but I use it in full knowledge of what it does and does not do and what it does not do is guaruntee the consistency and integrity of my data.

      And I have better things to do with my time than recoding DBMS functions into my apps. I use MySQL where data integrity isn't a critical issue.

      KFG

    12. Re:This could be good... by poot_rootbeer · · Score: 1

      What [MySQL] gives up is intergrety constraints.

      PostgreSQL can also function without integrity constrainsts -- just don't put any in when you create your tables.

      If you don't spend the cycles to insure data integrity you can be smaller and faster.

      You can optimize C++ code by never trapping any error conditions too, but I wouldn't recommend it.

    13. Re:This could be good... by kfg · · Score: 1

      Certainly, and that's what you do when you denormalize.

      It's just as poor a practice as not trapping any error conditions in C++ code.

      KFG

    14. Re:This could be good... by Sxooter · · Score: 2, Interesting

      Not exactly. If you try to enter a date of 'grandmas panties' as a date, postgresql will NOT accept it. MySQL will turn it into 0000-00-00.

      If you try to insert 8123928392382923 into an int4 in postgresql, it will throw an error. MySQL will turn it into 2^31 (or 32 if it's unsigned).

      If you make a not null column in postgresql, it will NOT ACCEPT A NULL, while MySQL will silently convert it to an acceptable default.

      MySQL will allow you to define foreign key references to tables that can't support them, and silently fail to create or maintain them.

      That's the problem, the silent failures / data munging. If there was a switch that I could throw that would let MySQL run ONLY on innodb tables and ONLY work the right way I might be tempted to use it, but their "what, me worry?" attitude towards data is a bit disheartening.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    15. Re:This could be good... by Kevin+Stevens · · Score: 1

      oh if I had mod points, this seems like the biggest troll ever. MySql has been catching up on features against Postgres for many many years now. Big features. Huge features. Subselects, stored procedures, transactions and the like. MySql has a larger userbase, and its not because its better. There are two main reasons for this, maybe three.

      The first is that there is a rumor that mysql is faster. And in whatever benchmark that was run that started all this, it probably was. However, DB tuning is a black art, and one that can have a humongous orders of magnitude difference in performance.

      The second is that the many many mysql users have no idea what a dbms is when they download it. They expect it to be like access. I have heard "umm... hi im trying to get this sql script loaded into my table, having a problem..." too many times. It is just sheer ignorance of alternatives and the thought process of "database, that uses that sql stuff, oooh mysql must be a database" Ive seen it countless times. Ask a senior CS student what Database systems are out there, and theyll probably answer access, oracle, mysql (in that order), and maybe sql server.

      Third is that mysql is easier to set up and runs under windows w/out the added hassle of cygwin, and due to the larger userbase, has more third party pretty apps to make it easier.

      Just about every Database professional I have met, if they had a gun put to their head by someone and had to set up a free database, they would choose postgres. Mysql has made some strides, but its just not postgres.

    16. Re:This could be good... by Anonymous Coward · · Score: 0

      On a fairly major application tracking user time and metrics reporting with fairly complex queries with group by I saw 45% performance increase with PostgresSQL 7.4 vs 7.3.4. Very nice!

    17. Re:This could be good... by joto · · Score: 1
      This is also why Microsoft WANTS there to be an enemy: they need someone to compete against to continue improving their product (which they do, even if we hate to admit it).

      Uh, no. Every company has a responsability to their stockholders of getting as much money as possible. And Microsoft is not an exception. You certainly don't have to be a microsoft-hater to realize this.

      The best way to for a company to get money is to become a monopoly. If I ran a company myself, I'd want to become a monopoly too. There's nothing bad about microsoft for wanting to become a monopoly, that's what almost every other company strives for too. By becoming a monopoly you can sell your goods at any price you want, and don't spend money on expensive tasks such as research and development.

      The only problem with becoming a monopoly, is legal. The government might decide to split you up, and in todays internationalized economy, you might see foreign countries abandoning you. And if microsoft is artificially keeping some competitors alive, that is the reason, not because they need them to get better products.

      If you don't believe me, ask Dubya.

      Ok, so I've been trolled. Just couldn't resist...

    18. Re:This could be good... by Anonymous Coward · · Score: 0

      Umm.. In the enterprise db market there is a little company called Oracle...

      Umm.. In the reproduction market there is a little game called Sex.

      Get this, nerdy-boy!

  2. Ah! Just in time by hattig · · Score: 2, Interesting

    For me to migrate my company's systems from MySQL to Postgres. Shame that my nice O'Reilly book won't cover the new features ... but I probably am not so advanced as to need them!

    Now how does it compile and run on FreeBSD / x86-64?

    1. Re:Ah! Just in time by Anonymous Coward · · Score: 0

      It's too late.

    2. Re:Ah! Just in time by Anonymous Coward · · Score: 0

      Hey everyone, look!

      It's Funny's Cousin, NOT FUNNY!

    3. Re:Ah! Just in time by Moosbert · · Score: 0, Troll
      Now how does it compile and run on FreeBSD / x86-64?

      According to the list of supported platforms, it doesn't.

    4. Re:Ah! Just in time by rtaylor · · Score: 1

      FreeBSD machiens running x86-64 are tough to come by. Odds are it is very close to working if not already.

      --
      Rod Taylor
    5. Re:Ah! Just in time by acidtripp101 · · Score: 1

      To be honest, I have no idea how well it would support x86-64, but under regular 32 bit processors, it runs very well, so you could easily assume that it runs at least as well, but probably better.

      http://www.freebsddiary.org/postgresql.php

      That page is a VERY good resource for setting up postgresql (it's for 7.2, but it still works).
      www.freebsddiary.org has a LOT of information reguarding postgres.
      Just do a search for "postgres" and you should find 2-3 very decent how-to's.

      --
      Not Free(as in beer). Free(as in "I'm free to beat you over the head for being a dumbass")
    6. Re:Ah! Just in time by Anonymous Coward · · Score: 0

      this version includes optimizations for x86-64 and FreeBSD takes great pride in their ability to run Linux binaries (plus Postgres supports FreeBSD) so I expect taht it would run very well

    7. Re:Ah! Just in time by Anonymous Coward · · Score: 0

      How does it run on BSD. Many of the developers are big BSD fans. You can bet it runs on BSD.

    8. Re:Ah! Just in time by Anonymous Coward · · Score: 0

      Don't get the O'Reilly book! There are far better books on the market. The O'Reilly book includes material related to some proprietary product of the author's and is missing crucial info on embedded SQL in C, Python, etc. as well as info on optimizing Postgres. I have 40 some odd O'Reilly books (including their Postgres book). Usually they are the 1st place I go for great documentation. But they seem to have become rather sloppy in their editing recently. Maybe they expanded too fast and can't find the extra competent editors they used to have.

  3. Rock on! by JohnA · · Score: 5, Interesting

    I use PostgreSQL extensively, and I have had a hard time convincing my-mySQL (I'm so clever) exclusive friends to give it a try.

    One thing that should be noted is that the JDBC drivers (http://jdbc.postgresql.org) are now among the best I've used. For those developing Java apps, the choice is now even more clear.

    1. Re:Rock on! by Evil+Adrian · · Score: 2, Insightful

      Are they having a hard time convincing you to try mySQL, too? ;-)

      --
      evil adrian
    2. Re:Rock on! by JohnA · · Score: 1

      Yeah, yeah... I know.... Once a zealot, always a zealot.

      In all fairness though, all of the OSS apps I am developing have both a PostgreSQL and a MySQL DAO implementation.

      But I am just as religious as the next guy... :-D

    3. Re:Rock on! by IpSo_ · · Score: 4, Interesting

      Show them this:

      MySQL Gotcha's

      If they still don't seriously consider at least switching away from MySQL, I would be very scared.

      --
      Open Source Time and Attendance, Job Costing a
    4. Re:Rock on! by SirChris · · Score: 1, Interesting

      What about FirebirdSQL. In my opinoin, one of the best databases out there, albeit not as well known.

    5. Re:Rock on! by Anonymous Coward · · Score: 0

      I would recommened the Gamma-Oriented And Telepathically-Secure Encryption database. It was originally developed in Christmas Island and is probably the most advanced Open-Source SQL database available. I recommend it to all developers and database admins. Click here for the website and to download the source code.

    6. Re:Rock on! by SirChris · · Score: 0

      Naw I heard that one had a wide open back-end.

    7. Re:Rock on! by mattcasters · · Score: 2, Informative

      I beg to disagree on the JDBC claim.
      As long as Statement.setFetchSize() or Statement.setFetchDirection() are not supported, it's close to useless to me.
      Try going over a couple of milion records if you doubt it's really needed.
      Not that MySQL's driver is any better in this regard.
      Real JDBC drivers like the ones for Oracle, DB2 and (gasp) even SQL Server support these hints without a problem.

      Matt

      --
      News about the Kettle Open Source project: on my blog
    8. Re:Rock on! by GoofyBoy · · Score: 1

      >One thing that should be noted is that the JDBC drivers (http://jdbc.postgresql.org) are now among the best I've used. For those developing Java apps, the choice is now even more clear.

      1. The quality of drivers are only one part of your decision when choosing a DB.
      2. How do they compare to commerical drivers such as from MS or Oracle?

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    9. Re:Rock on! by Anonymous Coward · · Score: 0

      But thought firebird was a browser. Oh I'm so confused!

    10. Re:Rock on! by SpaceRook · · Score: 1

      I just started getting into open source database development as a hobby. While my work mate recommended postgreSQL, I decided to go with mySQL.

      Call me a lemming, but the huge amount of combined Linux-Apache-PHP-mySQL (LAMP)documentation is what convinced me to go with mySQL. Once I become more comfortable with this setup, I'll give postgreSQL a try. But for a newbie, mySQL seems friendlier at the moment, if only because of the wide amount of help available.

    11. Re:Rock on! by Anonymous Coward · · Score: 0
      I use PostgreSQL extensively, and I have had a hard time convincing my-mySQL (I'm so clever) exclusive friends to give it a try.

      This release is really just whole new set of facts for the MySQL zealots to ignore. I mean, the replication thing would be nice to have in Postgres. But isn't db replication something you use when you're expecting your db to fuck up your data anyway?

    12. Re:Rock on! by FroMan · · Score: 1

      (gasp) even SQL Server support these hints without a problem

      While this might be the case for that particular feature, we have had issues with reading values from the result set with MSSQL jdbc drivers out of order.

      select col1,col2 from table1;

      rset.getString("col2");
      rset.getString("col1");

      causes either a NullPointerException or the next record's col1, I forget which. Either way, we had to write a sinkin' wrapper for result set because of this bug.

      Anyways, it might be fixed now. This was an issue a while ago, and we don't trust that it works now.

      --
      Norris/Palin 2012
      Fact: We deserve leaders who can kick your ass and field dress your carcass.
    13. Re:Rock on! by JohnA · · Score: 1

      Very true.

      Having used both ORA and MSSQL over JDBC, I can say that when using a Type 4 driver, PostgreSQL's JDBC support is easily at the same level as ORA and MSSQL. Although I have only used JSQLConnect on the MSSQL side.

      As for DB choice, I agree. But I have spent WAY too much time debugging & working around buggy drivers to not make it a significant part of my decision process.

    14. Re:Rock on! by captredballs · · Score: 1


      If your DBA fucks up your data on a replicated system it is fucked all on the systems, so "no". Replication is useful for failover/redundancy as well as load balancing.

      --

      I suppose I'm not too threatening, presently, but wait till I start Nautilus
    15. Re:Rock on! by slamb · · Score: 2, Informative
      I beg to disagree on the JDBC claim. As long as Statement.setFetchSize() or Statement.setFetchDirection() are not supported, it's close to useless to me.

      Cursors are supported now. Nic Ferrier wrote a patch for this back in April, and I think it got applied in the beginning of May. There's a trick I can't remember right now to enable it (maybe setting the result set type/scrollability first with JDBC2 methods), since it's not quite as efficient for smaller queries. I'm sure the people on the pgsql-jdbc mailing list would help you if you can't figure it out.

      Keep in mind that the JDBC drivers shipping with any given version of PostgreSQL are likely not the best available drivers to use with that version. The JDBC people don't make changes to the release branches, unless they started recently. The best available drivers tend to be the ones from their website or in CVS HEAD.

      Also, if you stumble on a page listing the compliance features/misfeatures of PostgreSQL, it's hopelessly out of date. I hope they're not still linking to it. The picture is much brighter than what that page suggests.

    16. Re:Rock on! by Mr.+Competence · · Score: 1

      Microsoft's JDBC driver, while one of the fastest, is also one of the crappiest. Try Inetsoftware's Merlia (just a happy customer) and you won't have that problem.

      --
      Those who open their minds too far often let their brains fall out.
    17. Re:Rock on! by Not+The+Real+Me · · Score: 1

      The biggest negative I have on Postgresql has to do with cursors and stored procedures (functions in Postgresql).

      Sybase and Oracle do a wonderful job documenting and giving examples on creating stored procedures, cursors and calling them from embedded c or java. Postgresql is extremely weak in this regard. I can find tons of examples and samples of PHP to Oracle executing stored procedures and working of refcursors but the Postgresql equivalents are virtually non-existant.

      I always hear the Postgresql fanatics tell about how full featured Postgresql is yet when I look at Sybase documentation, Sybase documentation is magnitudes superior. Almost all the Postgresql documentation seems to be assuming that you are running psql. For what I do, my access is via c/c++, php or visual basic, not psql. Plus, my end users wouldn't know what psql is even if it jumped up and bit them in the ass. All an end user knows is the user interface: either a web browser interface or a Windoze GUI.

    18. Re:Rock on! by Anonymous Coward · · Score: 0

      The MySQL manual states frequently, including in most of the places that page complains about, that invalid variables are often not overly checked as this keeps the speed of the server high. Infact most of that pages complaints are already mentioned on their respective manpages at mysql.com, especially UNION.

      Things like inserting negative values into auto_increment fields, while not ideal behaviour, are trivial to avoid in the code...normally you wouldn't touch MySQL auto_increment fields anyway...thats the point of auto_increment....

      There are some good points but most are answered in the MySQL manual. Complaining that InnoDB tables don't keep their referential integrity when the server doesn't support InnoDB is daft, so is complaining that transactions don't work when using mixed InnoDB and MyIsam tables (MyIsam doesn't support transactions and never claimed to).

      If you want transaction support in MySQL use InnoDB. If you want foreign keys ditto. If its not installed properly its obviously not going to work. If you want more stringent SQL adherance then use one of the other databases.

      Theres no reason for people to be scared, MySQL doesn't hold your hand through everything but then it gets a speed boost because of it. Pick the right tool etc....

    19. Re:Rock on! by the_mad_poster · · Score: 5, Insightful

      Trading stability for speed is stupid.

      Period. End of story. The job of a RDBMS is not "be fast".

      Maybe then, they need to stop claiming they're building a relational database management system because they're obviously not and anyone who thinks they are is addled in the head.

      ...are trivial to avoid in the code.

      If the application layer has to handle data integrity, the system behind it isn't relational and it's arguably not even doing the job of a DMBS. More like a convenient indexing tool.

      MySQL makes a fine database management system where it doesn't matter if your data gets mangled and all you want to do is fast, simple SELECTs, but what irritates the "zealots" like me is that MySQL folks will actually sit and argue that MySQL is even remotely close to a RDBMS. pgsql and their ilk aren't truly relational either.. but they're a heck of a lot closer.

      --
      Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
    20. Re:Rock on! by caluml · · Score: 1

      Yep, I agree completely. I tried installing postgres recently, and just couldn't be bothered to try and work out what it was doing. I prefer to manage my databases and tables with Webmin, which is the only thing I use webmin for, and the Postgres support for that is no-where near good enough.

    21. Re:Rock on! by Sxooter · · Score: 1

      If you try it again, try either phppgadmin or pgadminIII, they both are quite nice.

      http://phppgadmin.sourceforge.net/
      http://www.p gadmin.org/pgadmin3/index.php

      Postgresql is generally a bit more work setting up, but a better choice for a system that needs to handly higher parallel transactional load, i.e. a real time shared system.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    22. Re:Rock on! by rodgerd · · Score: 1

      Oh, yeah. Oracle's JDBC driver is so l33t! I love the way the pure Java drivers silently discard CLOB data over 32K.

      Debugging that flaw was no end of fun.

    23. Re:Rock on! by Anonymous Coward · · Score: 0

      Java apps? People still use Java? Haven't you people heard of C# ?

    24. Re:Rock on! by aled · · Score: 1

      Yep. Oracle JDBC makes a developer live fun. A new feature every day to discover. Action, emotion and fun in a single jar. Just not speed. Now with automatic connection drop.
      TIP: try to have a different locale in the database and the client, find the subtle differences in interpretations of different objects.

      --

      "I think this line is mostly filler"
    25. Re:Rock on! by Anonymous Coward · · Score: 0
      If you want transaction support in MySQL use InnoDB. If you want foreign keys ditto. If its not installed properly its obviously not going to work.

      The problem isn't so much that it doesn't work but that it doesn't report any error when it can't do what I want--it just silently does the wrong thing.

    26. Re:Rock on! by GooberToo · · Score: 1

      I would simply say this. Either you didn't look very hard or you can't find an online book store.

      There are several good books in print for PostgreSQL. There is a ton of documentation available. Calling, writing, defining and using functions are fairly well documented. In fact, so is creating your own data types. Furthermore, anything that is confusing to you, can easily ask on one of many news groups and/or mailing lists. People are more than happy to help. Seems you shooting them without having even tried first. Ouch.

      For what I do, my access is via c/c++, php or visual basic, not psql.

      For C++, I can't recommend libpqxx enough. The guy is a C++ guru and loves to make the library better, faster, stronger. Not being a php guy, I can't really address that, however, I hear it's a no brainer. As for VB, well, you're going to be using ODBC and PostgreSQL has fairly good ODBC facilities. IIRC, you can even get commercially supported drivers.

      Almost all the Postgresql documentation seems to be assuming that you are running psql.

      Well, of course it does. It's the tool that it can safely assume everyone, on all platforms, has easy access to. If you can do it in psql, you can do it with any other tool. Psql is just a DB connection with some command line editing and lots of nice extras. It's the equivilent of what pretty much every other RDBMs offers. Not really sure what the confusion or issue is here.

      All an end user knows is the user interface: either a web browser interface or a Windoze GUI.

      Not really sure why you'd worry about pgsql then. Having said that, pgsql can easily be used to create web interface result sets. It works well for CGI. Don't want to use CGI? Well, use one of many of the available language libraries to extract the data you need. You'll find language bindings for just about anything: C, C++, perl, python, tcl, OBDC, and many, many more that I've left out.

    27. Re:Rock on! by caluml · · Score: 1

      I'll try those for sure. I really want to see what I think of postgresql, but I can't be arsed with those long commands to create tables. Also, the variable types are differently named from MySQL ones, so it would be pretty tricky.

    28. Re:Rock on! by Sxooter · · Score: 1

      Actually, Postgresql uses those pesky ANSI standard type names, while MySQL, as per usual, creates their own and perverts others (i.e. timestamp is an ansi spec type, but in mysql it means a datetime type that autoupdates to now() when updated / inserted.)

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    29. Re:Rock on! by caluml · · Score: 1

      OK, OK :) I did say differently named though, in my defence. I know I should give it a go - I don't do a great deal with SQL that would require Postgres, but I feel I should learn it.

  4. Impressive but... by slayer99 · · Score: 3, Interesting

    ....still no native replication. MySQL has this one single advantage over Postgres.
    Oh, raw disk use would be nice too.

    --
    Martin Brooks / Slayer99 #linux / UIN 2178117
    1. Re:Impressive but... by glwtta · · Score: 1
      Oh, raw disk use would be nice too.

      Why? And how, for that matter. Oracle abandoned this misfeature long ago, how would postgres benefit from it?

      --
      sic transit gloria mundi
    2. Re:Impressive but... by BigGerman · · Score: 1

      >>Oracle abandoned this misfeature long ago
      Must be some other Oracle, not the one I have been using for 12 years.
      raw file systems in Oracle provide 10-15% performance improvement. Of course the downside is they are pain to maintain.
      But for something like Oracle online log files this is still the way to go.

    3. Re:Impressive but... by larien · · Score: 1

      Last I heard, Oracle still has raw disk as an option, mainly for performance reasons but also for parallel Oracle. With direct I/O or Quick I/O (Veritas), you can get near the performance of raw devices, but raw disk is still marginally faster.

    4. Re:Impressive but... by Paul+Jakma · · Score: 5, Informative

      still no native replication.

      One of the new features in 7.4 is the replication technology contributed from eServer.

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    5. Re:Impressive but... by bovinewasteproduct · · Score: 3, Insightful

      Huh?

      ERServer was released open source months ago. Check out GBorg for more information.

      And why do YOU need raw disk access? The PostgreSQL developers belive (and rightly I think) that the operating system can do the caching better than they can. Why re-write the wheel? Operating systems have came a long way in the last 10 or 12 years. Days of slow access to the disk are long gone.

      BWP

    6. Re:Impressive but... by gabe · · Score: 2, Informative

      MySQL has raw disk usage thanks to InnoDB. The only draw back is that it's slower than using regular InnoDB files in an actual filesystem... So, MySQL clearly doesn't have any advantage over PostgreSQL since it has raw disk support.

      Looking for replication? Use the eRServer replication that comes with PostgreSQL now.

      --
      Gabriel Ricard
    7. Re:Impressive but... by GooberToo · · Score: 1

      Clearly you've not had to use raw disks for anything of size or anything that matters. They are a pain. They are problematic to backup. They are problematic to restore. And frankly, the speed differences just are not there to justify the headaches. Last I heard, you get maybe 2-5% performance boost...and that's a BIG maybe.

      Very, very, very, very, very few people really need raw disk access for their database needs. Chances are, if you're using MySQL, you don't need to be using it either. You could easily use PostgreSQL and get the same performance using a FS, if not far, far better.

    8. Re:Impressive but... by slayer99 · · Score: 1


      Errm, have you seen what's involved in actually _using_ this replication system?

      --
      Martin Brooks / Slayer99 #linux / UIN 2178117
    9. Re:Impressive but... by slayer99 · · Score: 1

      Errm, have you seen what's involved in actually _using_ this replication system?

      And actually, I'd rather have the database decide what gets cached and what doesn't.

      --
      Martin Brooks / Slayer99 #linux / UIN 2178117
    10. Re:Impressive but... by thenextpresident · · Score: 2

      Where is the notice for this? The only thing I find in the release notes on replication is:

      "New /contrib/rserv replication toolkit (Vadim)"

      I can't seem to find it any place else? The reason I went with MySQL over PostgreSQL was the desire/need for easy replication. From what I know, PostgreSQL has some third party tools, but I wanted something that was apart of PostgreSQL itself, and this would be nice to see.

      --
      Jason Lotito
    11. Re:Impressive but... by Paul+Jakma · · Score: 1

      Yes, and it seems reasonably straight-forward actually. Though the eRServer approach is probably not the one I use, there are other PgSQL replication managers and I'd investigate those first.

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    12. Re:Impressive but... by Sxooter · · Score: 2, Insightful

      Errm, have you seen what's involved in actually _using_ this replication system?

      Yes I have, and it's not all that hard to set up. Not a simple drool and click interface, but no harder than setting up the ftsearch or a few other projects I've put online

      And actually, I'd rather have the database decide what gets cached and what doesn't.

      Really? Even if it makes the wrong decision? What if the decisions it made would be exactly the same, is it still worth the 100s of man hours to create such a cache manager and maintain it?

      You present no metrics for WHY the database should decide what stay in cache, yet you assume it would make a better decision. There are tons of things still to be done in Postgresql, (like the win32 port, Point in time recovery, 2 phase commit, and replication) to piss away time on a project of dubious returns like this.

      --

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

      Oracle still has raw disk as an option. I have yet to see an Oracle site using it in the wild, and Oracle themselves no longer encourage people to use it.

    14. Re:Impressive but... by slayer99 · · Score: 1

      Okay, so you agree that there's no _native_ replication support. It's Java, it's not native.


      I think the query planner and the connection queue will give a database a much better idea of what needs to be cached, the OS will simply never be able to understand the database's needs at teh same level.

      --
      Martin Brooks / Slayer99 #linux / UIN 2178117
    15. Re:Impressive but... by glwtta · · Score: 1
      Must be some other Oracle, not the one I have been using for 12 years.

      Ok, it's still available of course, by "abandoned" I meant that Oracle themselves (and every single installation guide I've seen) suggest you don't actually use it.

      --
      sic transit gloria mundi
    16. Re:Impressive but... by GooberToo · · Score: 1

      I think the query planner and the connection queue will give a database a much better idea of what needs to be cached, the OS will simply never be able to understand the database's needs at teh same level.

      And chances are, the DB will make the wrong choice. This is why most people prefer to defer to the OS so that the overall system still benefits rather than just the DB reaching a breakeven point.

      Remember:
      o The OS must still have a FS cache
      Creating a DB cache which is redundant of the FS cache, wastes memory and I/O -- This is counter to the performance goals
      o Cache trends are easy so long as there is only one query at a time. Add in multiple queries where the result sets are larger than what can fit into memory, the DB cache manager is almost certain to be wrong.
      Perform a query which results in a sequential scan of a very large table. Perform a scan which randomly pulls data from the table's index. Performa a scan which randomly pulls data from the table. Perform a query, resulting in sequential scan, on another very large table where the results will not fit into memory. Now, add in various misc. queries against the above tables and a dozen others. What data should still be in cache? Ah, gut says, data from the large table queries. But wait. Those two queries are only performed once per day.
      o On systems where the DB would attempt to manage the cache, admins tend to over commit memory resources to the DB, thus causing shortages for the rest of the system. This results in wasted I/O and CPU cycles.

      This is just touching the very tip. Simple fact is, the DB cache manager is almost certain to be wrong. The FS drivers are already pretty good at guestimating data access and caching as needed. Granted, there are some corner cases where the DB can cache better. But generally speaking, most of these are covered on any modern DBMS. As such, trying to write a cache manager which will probably do as well as the FS/drive/VM cache managers, is nothing but a waste of time and energy. Then, it has to be maintained.

      So, it's safe to say that your original argument is completely false.

  5. Yummy, or about time. by blanks · · Score: 5, Informative


    IN/NOT IN subqueries are now much more efficient.

    Queries using the explicit JOIN syntax are now better optimized.

    New multikey hash join capability.

    Cursors conform more closely to the SQL standard.

    Sounds like they pushed closer to the SQL standards, good job guys.

    Does anyone here know more about this "New client-to-server protocol" they speak of?

    1. Re:Yummy, or about time. by Anonymous Coward · · Score: 2, Interesting

      I helped debug the new client/server protocol along with Anders Johnson. Query results > 4k (eg, retrieving everything at once, or large binary fields) can be compressed with gzip or bzip2. If you run postgresql on a dedicated box, this can make a significant difference in network transport speed.

    2. Re:Yummy, or about time. by tcopeland · · Score: 1
      > IN/NOT IN subqueries are now much
      > more efficient.

      That'll make RubyForge (and other GForge installations) a bit faster, since GForge has a fair number of IN clauses:
      [tom@hal gforge]$ grep -rn " IN (" gforge/ | wc -l
      34
      [tom@hal gforge]$
      Looks like the survey and the searches should both benefit. Sweet.
    3. Re:Yummy, or about time. by bovinewasteproduct · · Score: 2, Interesting

      Does anyone here know more about this "New client-to-server protocol" they speak of?

      They needed to change the protocol to support such nifty features as proper error codes (SQLSTATE I belive) and better transaction control. I'm hoping that we'll see multi-stage transactions in 7.5.

      Older clients can still talk to newer servers, they just won't support the new features.

  6. Question: discuss among yourselves by Uma+Thurman · · Score: 3, Interesting

    I run postgres on my own database servers (when I'm not making movies, that is). Now, there's a distributed database project associated with Postgres, trying to add replication into the databases' bag of tricks.

    Lotus Notes implements e-mail and lots of other things on top of a database engine that performs replication. So, could Postgres be used to develop a Lotus Notes type application with replicated databased for e-mail, calendars, team rooms, etc?

    --
    This is America, damnit. Speak Spanish!
    1. Re:Question: discuss among yourselves by axis-techno-geek · · Score: 2, Insightful
      Use phpGroupWare or something but please for the love of god, don't port Notes anywhere!

      The Monks said it all (about Notes): Nice Legs, Shame About Her Face.

      ...or even the Manic Street Preachers: If You Tolerate This Your Children Will Be Next.

      --
      This is not the sig line you are looking for... -- Old Jedi Sig Line Trick
    2. Re:Question: discuss among yourselves by IANAAC · · Score: 2, Interesting

      Not sure why you were modded insightful, but... Care to share why Notes shouldn't be ported? Fact is, the server already runs on Linux. All that would be needed is the client, which is a fair bit better than Outlook. But if you can get away from big clients, I agree that web-based is the way to go.

    3. Re:Question: discuss among yourselves by Mr.+Slippery · · Score: 1
      Care to share why Notes shouldn't be ported?

      Because Notes should be burned, the ashes buryed in a lead-lined container, and the ground salted. With a marker erected over it all, as a warning to the next thousand generations to avoid the place...

      Gad. I've never had a more unpleasant experience with software than having to use Notes.

      Google-ing for '"lotus notes" sucks' gives almost 10,000 hits - I'll bet that's a extremely high suckage-complaint-count to user-base-size ratio.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    4. Re:Question: discuss among yourselves by tmasssey · · Score: 1
      The ability to replicate does not a Lotus Notes Database make. PostgreSQL is a relational database. It's data is highly ordered. Lotus Notes is closer to raw text files than ordered relational data.

      There are virtually no rules governing the structure of a Notes document (analogous to a record in SQL). It can be changed at will. This is the exact opposite of relational data, which structure is difficult to alter.

      Yes, you do need repliation. But there are lots of relational databases that replicate. It's just that they store very different types of data...

    5. Re:Question: discuss among yourselves by cymen · · Score: 1

      1) Client runs under Wine.
      2) Notes is end of the road technology.
      3) Notes sucks.

      ex-CLP

    6. Re:Question: discuss among yourselves by axis-techno-geek · · Score: 1
      I've used Notes on Windows and OS/2, and I have to say it is a cumbersome heap.

      In R5 you can add web pages to your start page, I could never get them to update... WTF!

      No RSS support, why doesn't Ctrl-Enter send (like every other e-mail program).

      It was great technology in the 80's, and since RSA's patents have expired, you can get the same security for nothing, or way more for nothing.

      I don't know about the Notes client being "better" than Outlook, Outlook is at least consistent with the rest of the "Windows" world, the same keystrokes, menu layout, etc. Notes is on another planet here.

      I just get this "icky" GroupWise feeling when I use Notes.

      --
      This is not the sig line you are looking for... -- Old Jedi Sig Line Trick
    7. Re:Question: discuss among yourselves by poot_rootbeer · · Score: 1

      So, could Postgres be used to develop a Lotus Notes type application with replicated databased for e-mail, calendars, team rooms, etc?

      Sure. Developing the front-end user interfaces will be the most arduous task, though.

      You could do like Lotus did and outsource the UI to a team of blind monkeys, I suppose....

    8. Re:Question: discuss among yourselves by tzanger · · Score: 1

      So, could Postgres be used to develop a Lotus Notes type application with replicated databased for e-mail, calendars, team rooms, etc?

      It's not Notes, but it is gunning to be an Exchange replacement. I have been testing it to replace our Exchange 5.0 server and it seems to work rather well. A little slow yet but they are addressing speed issues. It is very nice having all my Outlook and Exchange data somewhere I trust, and that can be backed up easily, and can be accessed outside of Outlook and MAPI. Steltor CorporateTime would have worked but Oracle's trashed it.

    9. Re:Question: discuss among yourselves by IANAAC · · Score: 1
      1) Latest version does not run under Wine.
      2) IBM seems to disagree with you.
      3) I will consider that your opinion, since you've not backed it up with any data.

      That said, and in the spirit of the original post, I really do prefer Web-based email/calendaring apps. It just really gets old seeing rant-posts that do nothing to back up the rant.

  7. Just when you thought it would never happen to you by Trejus · · Score: 1

    So I finally get off my lazy ass, bring out my old P166-MMX, download postgres 7.3.4, compile it (on a 166!), install it, issue my first select statement, check slashdot for a break and find this!

    Grrr, maybe it's time to buy a faster DB server.

    --
    "To save the planet, I had to go to the worst spot on Earth, and that was Philadelphia." -- Sun Ra
  8. Ok, so which is faster *now* by Space+cowboy · · Score: 1


    Not to ignite the flames at all (actually, I would prefer a straight answer)...

    We have one client who uses postgres, the rest are all mysql-based... Is there an unbiased (as far as can be) comparison ?

    Simon

    --
    Physicists get Hadrons!
    1. Re:Ok, so which is faster *now* by Anonymous Coward · · Score: 0

      That depends on how many clients you have. "The rest" is a tad vague.

    2. Re:Ok, so which is faster *now* by Anonymous Coward · · Score: 0

      Cache is fastest.

    3. Re:Ok, so which is faster *now* by TheZax · · Score: 1

      Is there an unbiased (as far as can be) comparison ?

      With what little I know about dbs, it seems to me there is NO such thing as an unbiased comparison. How well a db performs is relative to your specific environment. You need to test your code, on your data, or any comparisons are pointless.

      But, I could be wrong too...

      --

      JWall: GUI client for IPTables
    4. Re:Ok, so which is faster *now* by Anne+Thwacks · · Score: 2, Insightful
      Do you want speed? Or would you prefer your data to be consistent and safe?

      They are tools for different jobs:

      MySQL is intended for systems where the data is uploaded, and thereafter never changes significantly - eg static data accessed via the web.

      PostgreSQL is intended for things like payroll systems where some values persist for years, while others change daily.

      Without triggers, you cannot expect to maintain data integrity with online data input and a wide range of input methods. ie any system with an expected live lifetime exceeding a few months

      --
      Sent from my ASR33 using ASCII
    5. Re:Ok, so which is faster *now* by Anonymous Coward · · Score: 0

      Surely any speed discussion is a moot point when the DBMS industry still does not widely use database integrity through primary and foriegn keys and the use of constraints.

      I don't care how quickly you can insert a row into a table if it isn't validated. You might as well use flat files.

      If only we had a query language that was actually relational.

  9. Kudos to the phpMyAdmin team by micaiah · · Score: 1
    "This might also be a good time for the developers working on phpPgAdmin to create a new version that rivals phpMyAdmin in functionality."

    Access denied

    Welcome to phpMyAdmin 2.5.5-dev

    phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in config.inc.php and make sure that they correspond to the information given by the administrator of the MySQL server.

    Error

    MySQL said:

    #2002 - Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    [Documentation]

    It appears they are on top of things.
    1. Re:Kudos to the phpMyAdmin team by cyberlotnet · · Score: 1

      Thats a php config problem not a phpMyAdmin issue.

      Diffrent downloads of mysql put there socket file in diffrent places, and by default a compiled version of php looks in /var/run/mysqld/mysqld.sock unless you tell it otherwise.

    2. Re:Kudos to the phpMyAdmin team by micaiah · · Score: 1

      Point taken, however, I think that if they are going to run a demo on their web site they should periodically ensure it is working.

  10. postgres isn't used in the enterprise by Anonymous Coward · · Score: 2, Funny

    because no one can effectively pronounce it.

    Is it pronounced "Post Grays"?

    "Post Grez?"

    "Post Gress?"

    "Post Gray?"

    "Post Gruh?"

    I've also heard people refer to it as "progress"...

    Seriously, though, as an IT manager, you can't 'sell' the concept of using an OS RDBMS that you can't even pronounce. People use MySQL because its pronounceable. My Sequel. Simple. Yellow. Different.

    Those guys over @ Postgreays need to figure out a better friggin name for their RDBMS if they expect it to be used in the enterprise.

    1. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 1, Insightful


      My Sequel. Simple.

      "Sequel" is a Microsoftism. The rest of the world calls it Ess Que Ell.

    2. Re:postgres isn't used in the enterprise by drgroove · · Score: 3, Interesting

      Actually, Sequel was the name for the original Standard English Query language invented by IBM. SQL was the name of the second version of the language, also invented by IBM.

      http://www-106.ibm.com/developerworks/db2/librar y/ techarticle/0301jones/0301jones.html

    3. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      post-grezz-cue-elle.

    4. Re:postgres isn't used in the enterprise by robocord · · Score: 1

      Who told you that crap? It was pronounced "sequel" long before Microsoft bought the right to use (and further fsck up) Sybase's already fscked up source code.

    5. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 1, Funny


      Wrong, wrong, wrong.

      In the 40's I was working at Sybase developing an RDBMS for the (then) state of the art Eniac. It was a bit slow to program and the tubes always burnt my fingers. We called it Ess Que Ell back them.

      The 60's were a tumultuous time, what with the hippies and the drugs and the rock and/or roll.. anyhow, when we first got Sybase working on those transistorized computational devices we called it "Ess Que Ell"

      Microsoft started calling it "Sequel" as their first database "Primary" was a dismal flop.

      Now You Know.

    6. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      almost. change the "grezz" to "gress" and you got it.

    7. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0
      People use MySQL because its pronounceable. My Sequel.


      From the Documentation:

      The official way to pronounce MySQL is "My Ess Que Ell" (not "my sequel"), but we don't mind if you pronounce it as "my sequel" or in some other localised way.


    8. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      Is that the USS Enterprise?

      Postgres (pronounced postgres) is used in my enterprise.

    9. Re:postgres isn't used in the enterprise by Simsypoo · · Score: 1

      It sure beats FecalMatterSQL!! That product is really shitty.

    10. Re:postgres isn't used in the enterprise by Hypocritical+Guy · · Score: 1, Flamebait

      People use MySQL because its pronounceable. My Sequel.

      Where I work, if you were to call MySQL "My Sequel" you would get punched in the jaw, at least by me anyhow. SQL should always be pronounced Es Que El. Unless of course you work for Microsoft, in which case I'll punch you in the jaw regardles of how you pronounce SQL.

      In case anyone is interested, our jaw-punching policies have increased productivity and saved the company millions of dollars.

      --
      If you liked licking my balls, add me to your foes list!
    11. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      There used to be a wav file on postgresql.org, but it's gone now..

    12. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      Dude, take a break from Slashdot and have a few bong rips or something.

    13. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      don't mind if I do :)

      forgot to bring my weed with me to work today, though. damn.

      -HG

    14. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0
      In the 40's I was working at Sybase developing an RDBMS for the (then) state of the art Eniac. It was a bit slow to program and the tubes always burnt my fingers. We called it Ess Que Ell back them.

      You're a troll and a liar. dBASE II was the only database that ever ran on the Eniac.

      And it was correctly pronounced "Dah-Base Aye Aye", BTW.

    15. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      So SQL is the sequel to Sequel?

    16. Re:postgres isn't used in the enterprise by the_mutha · · Score: 1

      Ummm. No.

      MySQL is pronounced "My s queue elle", and not "My Sequel" as you suggested.

    17. Re:postgres isn't used in the enterprise by AstroDrabb · · Score: 2, Informative

      In the PostgreSQL FAQ, PostgreSQL is pronounced Post-Gres-Q-L.

      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
    18. Re:postgres isn't used in the enterprise by PghFox · · Score: 1

      Section 1.2 of the MySQL manual clearly states, "The official way to pronounce MySQL is ``My Ess Que Ell'' (not ``my sequel'')..", and then goes on to say, "..but we don't mind if you pronounce it as ``my sequel'' or in some other localised way."

      --
      --- Fox
    19. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0
      Actually that's not quite accurate ..

      Sequel was the original name but the IBM lawyers found that there was already an unrelated system by the name "sequel" and made the System R team change it.

      This is from the horse's mouth .. Don Chamberlin himself.

    20. Re:postgres isn't used in the enterprise by dloflin · · Score: 1

      Although I often say pronounce MySQL as "My Sequel", I railed against saying "sequel" for a long time. I still say "Ess Que Ell Server" most often for the MS SQL Server. But I developed an alternative: instead of "sequel" for SQL, I say "squeal". Hence I sometimes say "My Squeal" for MySQL, and for PostgreSQL I most often use "Post Greh Squeal".

    21. Re:postgres isn't used in the enterprise by Badanov · · Score: 1

      In Oklahoma, I pronounce it Post Gres kwul

      --
      Dawn of the Dead
    22. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0

      Here are some notes from a gathering of the original IBM SQL team members The 1995 SQL Reunion: People, Projects, and Politics

      Some quotes:

      "We called it Structured English Query Language and used the acronym SEQUEL for it."

      "A bunch of things were happening at about this time that I think we ought to mention just in passing. One was that we had to change the name of our language from SEQUEL to SQL. And the reason that we had to do that was because of a legal challenge that came from a lawyer. Mike, you probably can help me out with this. I believe it was from the Hawker Siddeley Aircraft Company in Great Britain, that said SEQUEL was their registered trademark. We never found out what kind of an aircraft a SEQUEL was, but they said we couldn't use their name anymore, so we had to figure out what to do about that. I think I was the one who condensed all the vowels out of SEQUEL to turn it into SQL, based on the pattern of APL and languages that had three-lettered names that end in L. So that was how that happened."

    23. Re:postgres isn't used in the enterprise by smittyoneeach · · Score: 1

      SQL != Stupid Question Language?

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    24. Re:postgres isn't used in the enterprise by Anonymous Coward · · Score: 0
      Oh good, does that mean I can officially call it
      "MY ASS!... (heads turn)... que ell."?
      Hmm, I think they'd be better off calling it "My-Sequel".
  11. Autovacuum by Space+cowboy · · Score: 2, Interesting

    Ok, this is nice - One thing that's always put me off postgres is the need for vacuuming. It seems to me it's a labour-intensive task that the computer ought to do on its own, without my help :-)

    Simon.

    --
    Physicists get Hadrons!
    1. Re:Autovacuum by Karamchand · · Score: 1

      It's still a labour-intensive task - for the dbms. While vacuuming you can't really do much else with the database.

    2. Re:Autovacuum by bmarklein · · Score: 3, Informative
      While vacuuming you can't really do much else with the database.

      Not true. Starting in 7.3, the default version of VACUUM no longer locks the table. From the 7.3 docs:

      Plain VACUUM (without FULL) simply reclaims space and makes it available for re-use. This form of the command can operate in parallel with normal reading and writing of the table, as an exclusive lock is not obtained. VACUUM FULL does more extensive processing, including moving of tuples across blocks to try to compact the table to the minimum number of disk blocks. This form is much slower and requires an exclusive lock on each table while it is being processed.

    3. Re:Autovacuum by kcbrown · · Score: 2, Informative
      It's still a labour-intensive task - for the dbms. While vacuuming you can't really do much else with the database.

      That's true if you're doing a VACUUM FULL. But that is now something that generally needs to be done only rarely (this will depend greatly on how you use the database). The database will now re-use freed tuples (VACUUM FULL compacts the physical table, thus eliminating such free space entirely and causing new data to be appended to the end of the physical table), so all that's usually needed is to find such tuples and mark them as being free.

      The autovacuum process invokes the standard VACUUM (without FULL) which does the "lightweight" VACUUM processing. It will also automatically update the statistics associated with the tables so that the planner will make better choices about things like whether to do a full-table scan or an index scan, the type of join to use, etc.

      VACUUM is much easier on the database than it used to be. It still isn't optimal, but if you read the pgsql-hackers mailing list you'll find that the developers are discussing at length how best to minimize VACUUM's effect on the database performance.

      --
      Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    4. Re:Autovacuum by gorilla · · Score: 1

      My postgres system does it on it's own, without my help. Ok, I had to help it by scheduling vacuumdb to run each night, but once I did that, I can forget about it.

    5. Re:Autovacuum by Anonymous Coward · · Score: 0

      > It seems to me it's a labour-intensive task that the computer ought to do on its own, without my help :-)

      Well, asking cron to do it isn't like some major ongoing investment.

      Anyway, the postgreSQL notion of explicit space reclaimation isn't exactly bad. It's something of a "pay me now, pay me later" issue. All databases must maintain free space data structures, and consume compute resources in doing so. postgreSQL lets you choose when you are best able to expend those resources.

      Vacuum needs more work, of that there is no doubt (but it isn't so bad, even now) Eventually it will, likely, end up a background process (As a preemptable, low priority, anything is better than running me, null time scavenger.) that is minimally blocking when writing small updates to system tables.

      Even then, because of memory and other non-compute cycle resource consumption, I'd like the option to issue a command at 11PM and let it wile away its time until 6AM. I like the idea of leaving the business day for doing business work.

    6. Re:Autovacuum by captainclever · · Score: 1

      Any DBMS has to do what Postgres calls Vacuuming. MySQL does it, Oracle does it.

      The difference is that Postgresql allows you to control exactly when you do this. You can choose to vacuum the db when the load is reduced, perhaps overnight.

      Other database are not as flexible.

      Of course, the autovacuum utility in the /contib dir does a fine job if you dont want to schedule your own vacuums.

      --
      Last.fm - join the social music revolution
    7. Re:Autovacuum by Zeut · · Score: 5, Informative

      Ok, there is a lot of talk about vacuum what it does / doesn't do and what effect autovacuum has. Here are the details (FYI, I wrote pg_autovacuum).

      Recent versions of postgresql don't take your database offline during vacuum. However, the vacuum process is an I/O intense process and can still, even 7.4, slow the server significantly while it's running. Work is has alredy been done in the 7.5 development tree to address the I/O storm created by vacuum.

      Typically, you setup cron to run vacuum your entire database nightly. This is fine, except it has two main problems. 1) It wastes time vacuuming large tables that probably don't need it (think audit train table that only gets inserted into). 2) It probably doesn't vacuum tables that are constantly updated often enough, which results in bloated data files, and slower queries.

      The new pg_autovacuum daemon addresses both of these concerns by monitoring database activity (using the stats system). When it sees that a table has has been modified enough to warrant a vacuum then it does so, when it sees that a table might benifit from a analyze only, then it does that. And when a large table doesnt' need to be vacuumed, it doesn't vacuum.

    8. Re:Autovacuum by gabe · · Score: 1

      cron!

      --
      Gabriel Ricard
    9. Re:Autovacuum by Space+cowboy · · Score: 1

      Cheers :-)

      I think I'll set up a copy of the db at home, and see how it fares :-)

      Simon

      --
      Physicists get Hadrons!
    10. Re:Autovacuum by General+Books · · Score: 1

      that's been in since 7.2,

      Release date: 2002-02-04

    11. Re:Autovacuum by dhogaza · · Score: 1

      No, not all database systems need to do VACUUMing. PG needs to do it because it uses a non-overwriting storage manager. Oracle and InnoDB both overwrite old rows with new data when you do UPDATE rather than create a new row while leaving the old data behind. This involves more complex monkey-motion with transaction logs because transactions that need to see the old data must read from the log rather than data file.

      I'm a big PG fan - PG and Oracle are the two RDBMS's I use professionally - but let's get the facts right, eh?

    12. Re:Autovacuum by Anonymous Coward · · Score: 0

      This is true, except that for MVCC systems like Oracle, you end up writing the old data to rollback segments so that other transactions can see a consistent snapshot of the data. Maintaining RBS and knowning when you can recycle them is equivalent to the vacuuming problem that Postgres has.

    13. Re:Autovacuum by Wolfier · · Score: 1

      However, there's still a need to VACUUM FULL once in a while.

      I'm still looking towards the day that VACUUM FULL, and the downtime it carries can totally be eliminated.

    14. Re:Autovacuum by Sxooter · · Score: 1

      Not true, if your fsm settings are high enough and you vacuum regularly you NEVER need to vacuum full anymore, not even to prevent transaction id wrap around.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    15. Re:Autovacuum by Wolfier · · Score: 1

      The issue is, once you've determined a "good" fsm setting, somebody changes the usage pattern that makes your fsm too low. Changing this setting requires a restart, which is downtime.

      Dynamically adjustable (or better, self-adjusting) fsm would be good, and I guess it is much easier to achieve.

    16. Re:Autovacuum by Anonymous Coward · · Score: 0

      Glad you brought this up.

      Am I the only one that has noticed if vacuum isn't run "often enough" (once an hour) on a *lightly used* database, postgresql will happily corrupt it to an unusable state?

      Any database is better than one that corrupts itself.

    17. Re:Autovacuum by Anonymous Coward · · Score: 0

      Dude! Use a freaking cron job for that! Or is it too far outside the box for your taste?

    18. Re:Autovacuum by Sxooter · · Score: 1

      Also, there's a page delay patch being tested for 7.5 that will slow down vacuum quite a bit, thus letting other processes get priority access over it. It almost made it into 7.4 but arrived just a little too late.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    19. Re:Autovacuum by Anonymous Coward · · Score: 0

      While I've seen postgresql fill up it's disk space when unvacuumed, I've never seen it corrupt as a result.

      Are you sure that's the word you want there?

    20. Re:Autovacuum by Sxooter · · Score: 1

      Oh please, you just crank up fsm, run the autovacuum daemon and you're gold. a single fsm entry takes only 6 bytes of shared memory, even on a P120 with 64 Megs of ram you can afford several tens of thousands of slots.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  12. Windows by kannibal_klown · · Score: 5, Interesting

    I'm sure I'm gonna get modded down for this, but does anyone know when is there gonna be a version that can run in windows natively (without using Cywin)?

    I ask because we are FORCED to use Windows boxes at work, and they gave all of the developers 2. We can't reformat and put linux on (or do a dual-boot) because they check to make sure everything is status-quo. And right now the atmosphere around here is not the greatest, so I'd rather not risk anything with the PHB's by trying to trick them.

    I usually have my 2nd machine as a server running mySQL as a testbed for my database apps. I'd LOVE to switch to Postgresql, but I'm limited as to what I can do.

    Any idea when a Windows native version will be available?

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

      I agree... it would be very nice to have a Windows version.

    2. Re:Windows by Tailhook · · Score: 1

      (without using Cywin)?

      ??

      What's wrong with Cygwin. Not on the "approved" list? Unless that's the problem I wouldn't hesitate to use it; it's pretty darn solid today.

      --
      Maw! Fire up the karma burner!
    3. Re:Windows by Karamchand · · Score: 1

      There's a 7.2.1 version available at least. While not good for a production server you might use it for usual developments where you don't need the newest features.

    4. Re:Windows by kannibal_klown · · Score: 1

      "Not on the "approved" list?"

      You got it. They serious audit our machines on a regular basic. We have to ask what we can/can't install before hand. They run a utility to parse through the hard disks to make sure everything on your machine is on the list. And like I said, I don't want to rock the boat at this particular point in time.

    5. Re:Windows by skiflyer · · Score: 1

      Originally it was do out in 7.4... last I heard it was re-slated for 7.5. I'm figuring to see it in 8.0, but I hope I'm really wrong.
      Rob

    6. Re:Windows by RayMarron · · Score: 5, Informative

      And here's a link to the native Windows 7.2.1 release. I've tried it on NT4 and 2000. It seems to works just fine.

      http://techdocs.postgresql.org/guides/Installing On Windows

      --
      ON DELETE CASCADE
    7. Re:Windows by Anonymous Coward · · Score: 1, Funny

      I ask because we are FORCED to use Windows boxes at work, and they gave all of the developers 2. We can't reformat and put linux on (or do a dual-boot) because they check to make sure everything is status-quo. And right now the atmosphere around here is not the greatest, so I'd rather not risk anything with the PHB's by trying to trick them.

      Get a new job. Seriously.

    8. Re:Windows by Lodragandraoidh · · Score: 1

      My question is, if they won't let you run Cygwin, what in Babbage's name makes you think they will let you run Postgres?...

      Sounds like it sucks to be you right now.

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    9. Re:Windows by Malc · · Score: 1

      It sounds like they have more money than sense.

    10. Re:Windows by Anonymous Coward · · Score: 0

      I ask because we are FORCED to use Windows boxes at work, and they gave all of the developers 2. We can't reformat and put linux on (or do a dual-boot) because they check to make sure everything is status-quo. And right now the atmosphere around here is not the greatest, so I'd rather not risk anything with the PHB's by trying to trick them.

      What, you work for microsoft too?

    11. Re:Windows by justins · · Score: 2, Informative
      What's wrong with Cygwin. Not on the "approved" list? Unless that's the problem I wouldn't hesitate to use it; it's pretty darn solid today.

      Performance.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    12. Re:Windows by Anonymous Coward · · Score: 0

      You are FORCED to use something in your own company or your employer's company? Go home kid, format your disk and put Linux on it and have a nice cup of coffee... Then let all of us here know about your achievements, write a HOWTO (and find some to translate it), create a project at sourceforge, pick up some code from your company's and protest against IP and copyright law to legalise your actions.

      Good Luck mate :)

    13. Re:Windows by Best+ID+Ever! · · Score: 1
      From Postgresql.org:
      That being all said and done however, we don't recommend using the cygwin version of PostgreSQL for "Production" quality databases, nor high load levels. The cygwin emulation layer introduces a few limitations, namely the lack of being able to tune PostgreSQL to the same performance levels of a Unix system, and we're also not sure how well the data integrity features of Windows + cygwin + PostgreSQL work in the event of a system crash, hardware failure, etc.
      also:
      The next version of PostgreSQL after that, to be called either version 7.5 or version 8.0 will definitely support windows natively.
      and:
      The main PostgreSQL project plans to add support for a native Windows version with our 7.5 or 8.0 release. This will probably be released in early 2004, with that time estimate being based on 7.4 being due for release near the end of 2003.

    14. Re:Windows by Anonymous Coward · · Score: 0

      If you are only allowed Windows boxes what database are you developing for? MS SQL Server? Oracle? Why not use test databases on the actual server software you will be deploying against if that is the case?

    15. Re:Windows by Anonymous Coward · · Score: 2, Informative

      See http://momjian.postgresql.org/main/writings/pgsql/ win32.html

      with the latest update on this issue.

    16. Re:Windows by gabe · · Score: 5, Informative

      CommandPrompt Mammoth PostgreSQL for Win32, Mac OS X, Linux
      http://www.commandprompt.com/entry.lxp?lxpe=295

      dbExperts PostgreSQL for Windows, Mac OS X, Linux
      http://www.dbexperts.net/postgresql

      PowerGres (threaded Windows PostgreSQL
      http://osb.sra.co.jp/PowerGres/introduction-en.php

      --
      Gabriel Ricard
    17. Re:Windows by the_mad_poster · · Score: 1

      Not only that, but it's just silly.

      Despite protestations from tech, I installed cygwin and postgresql on my NT4 Windows box successfully at work. It's not that hard, but yes, there is a performance decrease. Still, layering one OS over top of another to run a database server is silly. It adds an extra layer of potential failure and, effectively, you're trusting it to do things it wasn't meant to do on systems it's not built for.

      I also tested dbExperts PostgreSQL, and, while it works fine, compiling the Perl modules to work with it is a serious bitch. Ultimately, I ended up buying an extra dev license for SQL Server 7 and just left my pgsql development for my freelance work.

      --
      Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
    18. Re:Windows by PizzaFace · · Score: 5, Informative

      "Create native Win32 port" is one of three "urgent" items on the PostgreSQL to-do list, and Bruce Momjian publishes a detailed status report on the ongoing work. No one on earth can tell you when the work will be complete.

    19. Re:Windows by Anonymous Coward · · Score: 0

      "I'm sure I'm gonna get modded down for this, ..."

      ARGH!

      You should, if only because of this...

    20. Re:Windows by scrytch · · Score: 1

      CommandPrompt Mammoth PostgreSQL for Win32, Mac OS X, Linux
      http://www.commandprompt.com/entry.lxp?lxpe =295


      Commercial only, even the commercial version is crippled. Incompatible with the very existence of cygwin or mysql on the machine.

      dbExperts PostgreSQL for Windows, Mac OS X, Linux
      http://www.dbexperts.net/postgresql


      Commercial only.

      PowerGres (threaded Windows PostgreSQL
      http://osb.sra.co.jp/PowerGres/introdu ction-en.php


      Commercial only, japanese only (mostly).

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    21. Re:Windows by ski_fanatic · · Score: 1

      My company [http://www.peerdirect.com] created a native windows port of PostgreSQL based on the 7.2.1 code base. We needed to do this to complete our database replication story to include a low-cost database deployment option.

      We contributed our code back to the PostgreSQL community and believed that it would be included in the 7.4 release, but apparently it didn't make it.

      We have a business relationship with the Open Source company NuSphere [http://www.nusphere.com] and we have provided them with the port. They are distributing the native Windows PostgreSQL product under the name UltraSQL. If you need a native Windows port (Not Cygwin Based), find it there.

  13. Win32? by Anonymous Coward · · Score: 0

    Does anyone know the timeframe for a native win32 postgres server? And I don't mean cygwin postgres. I mean really on win32.

    1. Re:Win32? by Zeut · · Score: 2, Informative

      Originally it was hoped that 7.4 would have a native win32 port. In fact much work has been done, but it didn't get done in time for 7.4. Work continues, and it's getting closer. Everyone working on it hopes that it will be included in the next version of PostgreSQL, but no one will promise. Such is life in an Open Source project.

  14. OLAP Services by N8F8 · · Score: 1

    Can anyone comment on PostgreSQL OLAP? Does anyone use it for day-to-day business operations? How well does it integrate with mainstream OPAL analysis and repoting applications? Hyperion? Congnos? Business Objects?

    --
    "God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
    1. Re:OLAP Services by johnseq · · Score: 1

      I believe this was just a reference to the new indexing support... not native OLAP per se, just better support for implementing those types of apps in an RDBMS

    2. Re:OLAP Services by jechonias · · Score: 1

      I also wondered about the OLAP support, and trawled through the blurb and didn't find a thing. I suspect like the other responder that its generic speed related rather than a decent OLAP interface.

      The day we can use Postgresql as a cheap alternative to MS SQL for DW (when the client won't cough up for a decent DB like informix / red brick or DB2) Postgresql will have arrived!

      jech

    3. Re:OLAP Services by Fjord · · Score: 1

      AFAICT, it's referring to speed increases that improve queries against a star or snowflake schema. IOW, it's for relational OLAP.

      --
      -no broken link
    4. Re:OLAP Services by Sxooter · · Score: 1

      We use it where I work, more as a batch file processor for our reports and such.

      There are few things that make it more suitable now than ever before, one being hash aggregate method which gives MUCH faster output when doing aggregates on large sets. Another is pl/R, the R language as a stored procedure language.. The new GiST indexes also help, and there's a new and improved full text search engine in 7.4 as well.

      We've found it to handle load MUCH better than MSSQL server (our uptimes on the server and postgresql both are measured in months (currently 245 or so days)). It's close to Oracle in performance, but for really big ugly queries, Oracle is still a bit more refined in the planner department.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  15. Why use PostgreSQL over MySQL? by IpSo_ · · Score: 5, Interesting

    Because they care about your data, among other things! You could have the fastest database server in the world, but if you find your data is corrupt, or truncated without warning, it doesn't do you much good.

    Here is huge list of MySQL Gotcha's that absolutely floored me when I first read it. In my opinion, a "gotcha" in regards to a database is a "Bad Thing(tm)"

    MySQL Gotchas"

    --
    Open Source Time and Attendance, Job Costing a
    1. Re:Why use PostgreSQL over MySQL? by Evil+Adrian · · Score: 1

      I can't imagine having to use MySQL after reading that -- I'd imagine the intense pain would be rivaled only by barbed wire enemas and the like.

      --
      evil adrian
    2. Re:Why use PostgreSQL over MySQL? by penguin7of9 · · Score: 1

      Why use PostgreSQL over MySQL? [...] Because they care about your data, [...] Here is huge list of MySQL Gotcha's that absolutely floored me

      Just because mySQL fails to implement many parts that standard SQL programmers consider important doesn't mean it's unreliable.

      Reliability and performance depend on many factors. A database may have bullet-proof transactioning and backups, but if it's so complex that people deploy it incorrectly, that won't do you any good. And even a limited database whose memory footprint and cost you can afford is better that some hugely expensive or memory hungry behemoth that you simply can't use.

      The real question is: when implementing my system, how much effort and money does it take to achieve a required level of performance and reliability on top of a given database. MySQL does a lot less than the other systems, but it may still often be a better tradeoff in that space than PostgreSQL or Oracle. In fact, that's probably why it's so popular.

    3. Re:Why use PostgreSQL over MySQL? by PCM2 · · Score: 1
      Here is huge list of MySQL Gotcha's that absolutely floored me when I first read it.
      Oh, I dunno. I'd hardly say I'm "floored" after reading that.

      Failure to throw a division-by-zero error, returning NULL instead? Udefined behavior when you insert a negative value into an auto-increment column (when it's not clear why you'd insert any value in the first place)? Sure, these may be "gotchas," but they're hardly deal-breakers.

      I think calling this list "huge" is a bit of an exaggeration, too.

      BTW ... anyone who's running high-availability, mission-critical financial applications on MySQL, raise your hand. Anyone? Anyone? I'd say it's sort of a moot argument.

      --
      Breakfast served all day!
    4. Re:Why use PostgreSQL over MySQL? by Anonymous Coward · · Score: 0

      > Just because mySQL fails to implement many parts that standard SQL programmers consider important doesn't mean it's unreliable.

      A database is unrealiable if it fails to admit correctly formed transactions or fails to decline incorrectly formed ones.

      Automated conversion a "no data" (NULL) to a zero value is just one definition of what would be called unreliable behavior in a relational database. If you can't rely on integrety of the data, who cares how physically accessable it is?

    5. Re:Why use PostgreSQL over MySQL? by schon · · Score: 2, Interesting

      Just because mySQL fails to implement many parts that standard SQL programmers consider important doesn't mean it's unreliable.

      You're right. The fact that it will silently accept bad data, and change it to something else, means it's unreliable.

    6. Re:Why use PostgreSQL over MySQL? by Cajal · · Score: 1
      Just because mySQL fails to implement many parts that standard SQL programmers consider important doesn't mean it's unreliable.

      You mean like sane transaction support, decent range checking for DATE types, transactions that work, not silently creating primary keys, silently altering column types or silently truncating integers?

      Honestly, given the sheer amount of things that MySQL manages to get glaringly wrong, it's amazing that it's used for anything at all. Even basic things like NOT NULL don't work right!

    7. Re:Why use PostgreSQL over MySQL? by kpharmer · · Score: 1

      > Just because mySQL fails to implement many parts that standard SQL programmers consider important doesn't mean it's unreliable.

      No, sweeping exceptions under the carpet and failing to provide an integrated and robust transaction management facility means that it is exceedingly difficult to build a reliable application using it.

      Which really isn't much different than simply saying it's unreliable.

      > The real question is: when implementing my system, how much effort and money does it take to achieve a required level of performance
      > and reliability on top of a given database. MySQL does a lot less than the other systems, but it may still often be a better tradeoff in
      > that space than PostgreSQL or Oracle. In fact, that's probably why it's so popular.

      No - it's popular because it has been trivial to develop trivial apps on, because it is somewhat free, because it was on windows first. And because most of its advocates aren't familiar enough with database technology to weigh the differences between mysql and postgresql.

      Frankly, it has the least portability of any popular database solution, and lacks *so* many sql capabilities that simplify application development that I wouldn't consider using it for a moment - as long as postgresql is a reasonable alternative. The only time I've had to recommend mysql in the last year is when a client needed to implement an application that only supported mysql. Fortunately, that's been rare.

    8. Re:Why use PostgreSQL over MySQL? by ostrich2 · · Score: 1

      Nah, barbed wire enemas aren't as bad as everyone says they are. Just think of a happy place.

    9. Re:Why use PostgreSQL over MySQL? by Anonymous Coward · · Score: 0

      > Udefined behavior when you insert a negative value into an auto-increment column (when it's not clear why you'd insert any value in the first place)? Sure, these may be "gotchas," but they're hardly deal-breakers.

      Why did it accept an invalid transaction at all? Is mySQL a database, or is it a flat file handler? What kind of "database" accepts one value, then returns another later?

      Ya know, programmers make mistakes. People submit bad data. Bad memory chips change values in POST data. It just isn't a "database" if it's willing to accept trash. Sorry. But mySQL isn't just willing, but actively engages in trashing certain relational operations based on NULL values.

      What is a deal-breaker, BTW? Sounds like you're trying to argue that any minimally, barely, workable solution is a justifiable commitment. What an IT shop you'd run.

      "Hey guys, I've heard about this thing. Can we, somehow, force apply it into our infrastructure, as it is, right this very second? Forget the future, forget standards, forget compatibility with any standard way of thinking, forget how many flaws it has as long as they can be worked-around some hokky way, any deal-breakers right now? No? Ok, guys, get to it!"

    10. Re:Why use PostgreSQL over MySQL? by cyberElvis · · Score: 1

      Thanks for that great gotcha list. As a user of only commercial RDBMS systems, PostgreSQL will be my database for home use. I was having trouble getting through the FUD over this issue before.

      --
      My boy, my boy!
    11. Re:Why use PostgreSQL over MySQL? by Li0n · · Score: 1

      Agreed. However stuff like ignoring constraints, accepting bogus date values in a datetime column, and silently failing and guessing for you is pretty serious.

      Any software won't do you much good if you don't deploy it correctly. Hell, it won't do you much good to crash into a tree because you don't know how to drive correctly. That's hardly a point in MySQL's favor. It's a point against the DBAs.

      --

      ~
      ~
      :wq
    12. Re:Why use PostgreSQL over MySQL? by LadyLucky · · Score: 1
      As someone that has had to maintain production MySQL databases, let me tell you in no uncertain terms that we have since pulled support for MySQL, and recommended people upgrade to a real database.

      One customer was getting failures every tuesday, thursday and Sunday at 7 past 6 in the evening. Can you believe it? Nothing in the error log. Turns out that if you do a backup of MySQL while it is running, the process exits. No message, no log, nothing. Just *poof*.

      Mix that in with JDBC drivers that swap parameters between prepared statements, throw errors about max_packet_size exceeded, with a server that gives really poor error messages on configuration mistakes, and you have an amateur database.

      That, and it ignores SELECT (...) LIMIT 1000 commands, at least if there are too many JOINs. We had one query (OK, not optimised) that took MySQL 25 minutes to complete. SQLServer did it in 6 seconds. Put the LIMIT 1000 (TOP 1000 in SQLServer), and SQLServer goes sub-second, MySQL takes... wait for it... 25 minutes.

      Anything else needs mentioning? If you've got any skin in the game, steer well clear of MySQL. It's just not worth the pain.

      --
      dominionrd.blogspot.com - Restaurants on
    13. Re:Why use PostgreSQL over MySQL? by penguin7of9 · · Score: 1

      No, sweeping exceptions under the carpet and failing to provide an integrated and robust transaction management facility means that it is exceedingly difficult to build a reliable application using it.

      Which really isn't much different than simply saying it's unreliable.


      That is completely different. The UNIX file system doesn't have transaction management at all, yet people build robust applications on top of it.

      No - it's popular because it has been trivial to develop trivial apps on

      Quite right. And most applications are, in fact, trivial, so a trivial database that makes implementing trivial applications is a good thing. And that's why mySQL continues to be popular.

      And because most of its advocates aren't familiar enough with database technology to weigh the differences between mysql and postgresql.

      I'm sure there are many people who pick mySQL because they don't understand database technologies--and they don't have to understand them because mySQL apparently gets their job done sufficiently well.

      I'm also sure that there are many people like you who pick PostgreSQL because they don't understand how to make good engineering tradeoffs and build good applications on top of databases that don't have all the bells and whistles. Yours is a different level of ignorance, but it's ignorance all the same.

    14. Re:Why use PostgreSQL over MySQL? by penguin7of9 · · Score: 1

      You're right. The fact that it will silently accept bad data, and change it to something else, means it's unreliable.

      So does Perl. So does C/C++, the language that PostgreSQL itself is written in. So do, in fact, most of the software systems we use every day.

      All things being equal, it's good to have languages and libraries with carefully-designed type systems and with type systems that conform to known standards. But just because mySQL is different and more lenient doesn't make it "unreliable", it just means you have to use it differently.

      And if you wanted to be consistent about this sort of thing, you should reject PostgreSQL as well because it is written in one of the languages most conducive to creating unreliable software: C/C++.

    15. Re:Why use PostgreSQL over MySQL? by penguin7of9 · · Score: 1

      Put the LIMIT 1000 (TOP 1000 in SQLServer), and SQLServer goes sub-second, MySQL takes... wait for it... 25 minutes.

      I'm sorry that you seem to have been under the mistaken assumption that mySQL and SQLServer are even products in the same category. They absolutely aren't, and that should have been clear to anybody with any experience with databases from the start. You cannot deploy mySQL as a general-purpose, full-blown SQL database server. But you can use it with lots of applications that are written for it and it will handle common, simple SQL queries. Think of mySQL more like the Access database engine.

    16. Re:Why use PostgreSQL over MySQL? by Anonymous Coward · · Score: 0

      A database is unrealiable if it fails to admit correctly formed transactions or fails to decline incorrectly formed ones.

      Automated conversion a "no data" (NULL) to a zero value is just one definition of what would be called unreliable behavior in a relational database. If you can't rely on integrety of the data, who cares how physically accessable it is?


      MySQL is not a database that conforms to the SQL standard and nobody has ever made any pretenses about that. If you have been assuming that MySQL actually conforms to the standard, that's your problem, not its.

    17. Re:Why use PostgreSQL over MySQL? by kpharmer · · Score: 1

      > That is completely different. The UNIX file system doesn't have transaction management at all, yet
      > people build robust applications on top of it.

      Right - but they don't build *transactional* systems on top of flat files. And when they occasionally have ACID considerations they either build two-phase commit, behave unpredictably, or reprocess/require manual intervention. Note that none of these solutions are as easy or elegant as asking a database: hey - do all of this work, or none.

      > I'm also sure that there are many people like you who pick PostgreSQL because they don't understand
      > how to make good engineering tradeoffs and build good applications on top of databases that don't
      > have all the bells and whistles. Yours is a different level of ignorance, but it's ignorance
      > all the same.

      No, the difference is that I've been around long enough to have developed dozens of major applications *before* we had transaction support - using flat files, isam, and hierarchical structure. And I was there when the entire industry shifted to robust databases - because the work required to make reliable and accurate applications before them was beyond the ability and time available to most development teams.

      So - "been there, done that, ain't going back". I'll stick to modern technology, thank you.

      You on the other hand, are free to repeat the mistakes of the 70s.

    18. Re:Why use PostgreSQL over MySQL? by LadyLucky · · Score: 1

      Heh, yes, you're telling me. Support was added to help out the sales process (so they didn't need SQLServer installed on the laptops). So of course.. they go and sell with with MySQL.. *sigh*

      --
      dominionrd.blogspot.com - Restaurants on
    19. Re:Why use PostgreSQL over MySQL? by Anonymous Coward · · Score: 0

      Then why the hell does its name have the letters SQL in it? That seems like a pretty big pretense to me, but hey, maybe I'm just a little more perceptive than you, eh?

  16. Re:Santorum this! by Anonymous Coward · · Score: 0

    Sorry, not in the dictionary.

  17. Finally... by ActionPlant · · Score: 1

    I've heard of the glories of postgre...now I may actually dump mysql and use it! Looks like it'll be easier to configure, and in my book that wins.

    Damon,

    --
    http://actionPlant.com
    1. Re:Finally... by FroMan · · Score: 1

      This is a pretty basic setup, with 0 optimizations, but it will get you going on a home machine:

      % setenv PGDATA /path/to/data
      % initdb
      % pg_ctl -l $PGDATA/postgresql.log start
      % createdb dbname
      % psql dbname
      psql>

      That will get you up and running. To be useful you will want to edit the $PGDATA/pg_hba.conf file and add permissions to access the machine non-locally. Then in the pg_ctl line add "-o -i" to allow TCP connections (useful for jdbc connections).

      --
      Norris/Palin 2012
      Fact: We deserve leaders who can kick your ass and field dress your carcass.
    2. Re:Finally... by ActionPlant · · Score: 1

      Thanks!!!!

      Damon,

      --
      http://actionPlant.com
  18. PgAdmin 3 by DAldredge · · Score: 2, Interesting

    PgAdmin 3 is also ready and in now multiplatform.

    1. Re:PgAdmin 3 by stoolpigeon · · Score: 3, Insightful

      And it is very, very nice. If you have people resistant to using pgsql (which I like a lot personally) pgAdmin III will give them all the GUI stuff they are used to from programs like SQL Server Enterprise Manager.

      The postgreSQL community is extremely helpful, key developers are very active in helping out users and addressing issues rapidly. It is a project that just exemplifies what is good about open source.

      I am compiling 7.4 on my development server right now in preparation for moving our production server soon. I guess maybe I sound like a fan boy but as a database administrator I just can't over emphasize my joy at getting to work with such an excellent product.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    2. Re:PgAdmin 3 by mikeboone · · Score: 1

      I only wish the phpPgAdmin tool was nearly as useful as the phpMyAdmin tool.

    3. Re:PgAdmin 3 by Anonymous Coward · · Score: 0

      I don't understand people's fascination with administering databases via the web. There are much faster ways of getting the job done.

    4. Re:PgAdmin 3 by mikeboone · · Score: 1

      If you have to work remotely on a DB via a dialup connection, web interfaces are kind of nice. The alternatives being ssh and using the DB's shell or some client GUI tool. I didn't care for pgAdmin 2, hopefully 3 is better.

    5. Re:PgAdmin 3 by AKAImBatman · · Score: 1

      > The alternatives being ssh and using the DB's shell or some client GUI tool

      You forgot about the advantage of not leaving the database port open to the internet. Many databases are rather lax when it comes to security, simply assuming that you'll keep them behind a firewall. Despite that, I know of quite a few people who use DataDino over dial-up. Having a full blown GUI tool gives them a lot of flexibility, but you have to wonder how safe it is.

      Of course, that's assuming that anyone wants your data to begin with...

    6. Re:PgAdmin 3 by Paul+Jakma · · Score: 1

      Good job then that PgSQL supports kerberos authentication. (at least means the auth data in your DB connection is^Wcan be made safe).

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    7. Re:PgAdmin 3 by Badanov · · Score: 1
      And it is very, very nice. If you have people resistant to using pgsql (which I like a lot personally) pgAdmin III will give them all the GUI stuff they are used to from programs like SQL Server Enterprise Manager.

      Not meaning to be a purist or anything but a GUI slows table creation and other administrative tasks to an absolute crawl. I prefer to script all my table creation and as many routine tasks as I possibly can from text scripts. That way, if changes are needed or I can track what has been done, I can look at scripts and make a quick determination.

      It's like the old saw: Sure, she looks great, but can she type?

      --
      Dawn of the Dead
    8. Re:PgAdmin 3 by stoolpigeon · · Score: 1

      I agree with you 100%. But people are really drawn to a GUI.

      I sat in a meeting a couple weeks ago about a product that is being developed by a company who's products we already used. He mentioned the PostgreSQL command line interface as a draw back.

      I was a little perturbed to say the least. But a lot of people are in that same boat. They really want a GUI. And with PostgreSQL you can have whichever interface you prefer or both. So while you and I agree- someone who sees it differently can still have what they want.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  19. CRON by stoolpigeon · · Score: 1

    you've got to be kidding. I guess if the couple seconds it takes to set up a cron job to run the vacuum is labor intensive. I didn't think so.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    1. Re:CRON by Anonymous Coward · · Score: 0

      one word:

      Roomba

  20. Full text searching improved and other goodness by SuperBanana · · Score: 5, Informative

    Full text searching also got another overhaul- I plan on messing around with it when I get some free time. They've included a .sql file you can just import into an existing DB.

    The real power here is that the index is quick to update, and as a result, can be done in real-time via triggers and stored procedures- neither of which you can do with MySQL :-) The new release is also even more SQL compliant- something else MySQL can't claim. PostgreSQL is both SQL92+98 compliant if I recall.

    It can't be said enough- PostgreSQL is now MUCH faster...and due to features like stored procedures, triggers, and some of the best locking available combined with some of the best transaction support, it's actually far faster at many of the same tasks if you take advantage of these greater abilities.

    Even back as early as '99, PostgreSQL absolutely mopped the floor with MySQL when as little as 10% inserts or updates were thrown into a select test. Why? Piss-poor locking and zero transaction support. The stuff you have to do in the application layer to make up for proper(or ANY) transaction support will make most benchmarks completely pointless.

    MySQL always has, and always will be, a DB best suited for blogs and 2-guys-in-a-garage; it's slapped together, has a low featureset, and is not standard-compliant. PostgreSQL is not an enterprise fish(replication still needs work if I understand it correctly)- Oracle, DB2 etc have that market pretty well covered- but it's great for everyone else who isn't, say, a multibillion $ company...if those people just bothered to have an open mind instead of pointing their fingers at benchmarks showing MySQL running out of an in-ram-only table can select 50,000 rows faster than PostgreSQL can, and whining about how they need to make a cron job to vacuum/vacuum analyze tables at an appropriate time(with autovacuum, also in this release, there goes that excuse!)

    1. Re:Full text searching improved and other goodness by Anonymous Coward · · Score: 0

      Reiserfs4 advanced file system for Linux will soon be released for Linux. With transactions and rollbacks, Reiserfs4 will be an ideal platform for running MySQL. The combination is both faster and more reliable than PostgreSQL alone. Get ready to put your money where your mouth is.

    2. Re:Full text searching improved and other goodness by phlyingpenguin · · Score: 2, Interesting

      I hear that. When you're talking about a large database (More than 50k rows, things closer to 400M rows/table) Postgres is the only way to go after you figure out that MySQL has NO functionality in the realm of RDBMS. In fact Postgres is even better when you find all of the different things you can do with your data afterwards (via custom aggregates, custom sequences, functions, triggers, views, etc.) that the dorks in their garages who only 'SELECT * FROM BLOG' are even further pushed out of the picture.

    3. Re:Full text searching improved and other goodness by Khomar · · Score: 1

      I am truly intrigued about PostgreSQL. I have had a lot of experience with Oracle so I am familiar with higher level functionality. However, my only experience with free databases is with MySQL. While I enjoy its simplicity and speed, I would also like to have the flexibility to upgrade to the more powerful features as needed (triggers, stored procedures, etc.). I also have concerns for stability and security with MySQL. Therefore I have a few questions for those who would respond:

      • Does PostgreSQL have a good GUI component for direct database manipulation?
      • I understand that PostgreSQL requires cygwin to run on a Windows platform. Since my company is a Windows shop for now (I have not yet been able to convince them to move to Linux) this is an important issue for me. How big of a performance hit is there for running through the cygwin interface? In other words, is PostgreSQL faster than MySQL in Windows?
      • Are there plans to go to a native Windows platform?
      --

      I believe in de-evolution. God made the world perfect, man fell, and its been going downhill ever since!

    4. Re:Full text searching improved and other goodness by rtaylor · · Score: 2, Informative

      Yes, there are plans to make a native windows port -- it's actually about 75% of the way there.

      The big issues now are safety. For example, sync() has traditionally been used for checkpoints to ensure everything is on disk. Windows does not seem to have an equivelant (though several close options).

      If your interested in helping out, please send a note to pgsql-hackers for a list of current issues for win32.

      --
      Rod Taylor
    5. Re:Full text searching improved and other goodness by Anonymous Coward · · Score: 0, Troll

      Do you have the slightest clue what you're talking about or do you just type shit in and hit post?

      I suggest you go get books on database, filesystem and OS design. Once you managed to comprehend them, feel free to post again.

    6. Re:Full text searching improved and other goodness by asdfghjklqwertyuiop · · Score: 1

      Uuhhh... transactions in the filesystem don't have anything at all to do with database transactions.

    7. Re:Full text searching improved and other goodness by abulafia · · Score: 2, Informative
      Does PostgreSQL have a good GUI component for direct database manipulation?

      Several. Take your pick. (Check the administrative link off the nav, and also look through the developer tools.)

      I understand that PostgreSQL requires cygwin to run on a Windows platform. Since my company is a Windows shop for now (I have not yet been able to convince them to move to Linux) this is an important issue for me. How big of a performance hit is there for running through the cygwin interface? In other words, is PostgreSQL faster than MySQL in Windows?

      Can't help you here, I've never done it. Sorry.

      Are there plans to go to a native Windows platform?

      Yes. There are technical hurdles, but it is actively being worked on. Check out the list, if you're interested.

      w

      --
      I forget what 8 was for.
    8. Re:Full text searching improved and other goodness by AKAImBatman · · Score: 2, Informative

      > Does PostgreSQL have a good GUI component for direct database manipulation?

      Traditionally, this has been the job of third party developers. SQL Server is the one exception as it tries to make you dependent on the GUI tools. Still, if you want a GUI tool, both pgAdmin and my own DataDino are good alternatives.

    9. Re:Full text searching improved and other goodness by the_mutha · · Score: 1

      One thing is comparing a database system to another when you have used and tested them both extensively.

      MySQL might "suck" transaction-wise, IF you use the default table manager - MyISAM. Try using InnoDB. Its a whole new ball game, as they say.

      Supports row-level locking, and is fully ACID compliant.

    10. Re:Full text searching improved and other goodness by Anonymous Coward · · Score: 0

      Yeah, InnoDB sucks for a whole other bunch of reasons - not least, if you actually want *shock, horror* backups, you have to pay for the tool to make them.

    11. Re:Full text searching improved and other goodness by the_mutha · · Score: 1

      Ummm. No.

      Ever heard of mysqldump? It ALSO backs up InnoDB tables.

    12. Re:Full text searching improved and other goodness by Sxooter · · Score: 1

      Sure, but if you want a consistent hot backup, then you do have to pay for a commercial program.

      If not, then you either take down the database, or get inconsistent backups.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    13. Re:Full text searching improved and other goodness by Earlybird · · Score: 1
      • It can't be said enough- PostgreSQL is now MUCH faster...and due to features like stored procedures, triggers, and some of the best locking available [...]
      PostgreSQL still does "select for update" when doing insertions involving foreign keys. And that's bad, very bad.

      What does this mean? When you insert a row that references another row, in the same table or a different table, as a foreign key, PostgreSQL will lock the row being referenced from being modified. Due to how PostgreSQL's "for update" works, it will also lock the row from being referenced by other insertions.

      Consider these tables:

      create table companies (name text primary key);
      create table employees (name text primary key,
      employer text references companies (name));
      Then consider that connection A does the following:
      begin;
      insert into employees ('John Doe', 'ACME Inc.');
      Then a parallel connection B does:
      begin;
      insert into employees ('Jane Doe', 'ACME Inc.');
      What happens? Transaction B will actually block (ie., wait) either until transaction A commits, or a certain time limit (defined as deadlock_timeout in the PostgreSQL configuration file) is exceeded.

      This defeats long-running transactions, and risks lots of deadlocks in a high-traffic environments. One workaround is to increase the deadlock timeout. A more predictable workaround is to disable constraint checking until transaction commit by marking your foreign keys as deferrable in the schema, and issuing a set constraints all deferred statement inside each transaction; this means you will only get reference-integrity violation errors on commit instead of on updates, but for many applications that's probably acceptable compromise.

    14. Re:Full text searching improved and other goodness by Anonymous Coward · · Score: 0

      I think this is fixed in 7.3.3 (which came out in May)

      From the changelogs:

      Don't lock referenced row when UPDATE doesn't change foreign key's value (Jan)

    15. Re:Full text searching improved and other goodness by Earlybird · · Score: 1
      I think this is fixed in 7.3.3 (which came out in May)

      Thank you. That was useful information.

  21. Re:history of postgresql by Anonymous Coward · · Score: 1, Informative

    Ellison purchased his version of SQL off of IBM in the late 1970's or early 1980's for about $150K. Oracle has no ties to PostgreSQL.

  22. Replication Replication by augustz · · Score: 3, Insightful

    For some applications with a chance of growth I've had two issues with Postgresql. One is that despite the fact that they have talked about being an "enterprise level" database for ages, we found that in any kind of swift moving transaction enviroment we had to VACUUM pretty regularly. How they expected folks to leave pgsql running over extended periods of time (months -> years) is beyond me. Looks like they may have solved it. It will be interesting to see if the systems can take a pounding and stay up 24/7 for a while without slowing to a crawl.

    The other issue has been replication. With mysql this has saved our bacon more then once. Nead to do intensive analysis on live data and don't want to disturb active system? Set up a nice slave and query away.

    Want basic fault tolerance? Set up a slave, you have a live mirror of the data.

    Have lots of queries coming in (load balance the reads at least).

    PostgreSQL now has some type of replication available from PostgreSQL Inc, but it looked to me like somewhat of a hodge podge of perl, triggers and who knows what else.

    I think I'll try it out, and if I can get the same replication speed as I do with a mysql array I'd switch over, but first glance it didn't look like I would. Anyone compared the replication performance yet (and ease of setup, I was very impressed with mysql in this regard).

    1. Re:Replication Replication by scrappy · · Score: 2, Informative
      re: replication ... the version of eRServer that PgSQL, Inc released OSS earlier this fall is Java based, actually ... only perl is for the admin scripts, and the OSS community is in the process, I believe, of getting rid of that also ...



      See eRServer on GBorg

      Jan Wieck is also just in the process of re-writing replication based on the experiences of eRServer, again, as an OSS project, and it can be viewed at:

      Slony-1 on GBorg

    2. Re:Replication Replication by augustz · · Score: 1

      Slony-1 looks very interesting, I browsed the CVS doc description of it all (checked in 4 hours ago). Hadn't seen it before!

      Not a lot of code yet but the document was very thoughtfully worked through. Be curious how quickly helper utilities could fail over to a slave given the configuration changes needed. Good stuff though, look forward to the evolution of the project. I think this may convince me to prototype the next app in pgsql. It's the load balancing portion of things that interests me the most by far, it is SO nice when you can scale somewhat horizontally.

      If pgsql gets failover, some load balancing, and the backup aspects, I think that will carry most folks. PostgreSQL features plus the scalability this all brings is fantastic.

      eRServer 1.2 looks like it has a somewhat more fleshed out feature set and ease of configuration (whew) as well, so development continues.

      Do you know how well the auto vacuum stuff works? This was the "most annoying thing ever" with the earlier versions, you had to vacuum to stay sane and it was disruptive to a clean running setup.

    3. Re:Replication Replication by Anonymous Coward · · Score: 0

      You might want to "man cron" sometime. We've been using cron jobs for vacuuming for years.

      Is it painful to be as stupid as you are?

    4. Re:Replication Replication by RelliK · · Score: 2, Insightful
      PostgreSQL now has some type of replication available from PostgreSQL Inc, but it looked to me like somewhat of a hodge podge of perl, triggers and who knows what else.

      Strange. That's how MySQL looks to me...

      --
      ___
      If you think big enough, you'll never have to do it.
    5. Re:Replication Replication by GooberToo · · Score: 1

      Most people run a cron job which vacuumed as needed. No fuss. Easily done. Didn't disturb production at all.

    6. Re:Replication Replication by Sxooter · · Score: 1

      There's also an autovacuum daemon now, and it works quite well.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    7. Re:Replication Replication by chriskl · · Score: 1

      One of the new features in PostgreSQL 7.4 is a new autovacuum daemon.

      This daemon will monitor your installation and vacuum and analyze your tables automatically based on insert,update,delete rates, etc.

      Chris

    8. Re:Replication Replication by augustz · · Score: 1

      Yeah, it's the autovacumn deamon that I'm interested in trying out.

    9. Re:Replication Replication by Sxooter · · Score: 1

      It was surprisingly easy to build, install and activate. Works like a charm for us.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  23. Wow. by zymano · · Score: 0, Redundant

    pretty informative . i will check those facts.

  24. There is no such thing as "faster" by axxackall · · Score: 3, Insightful
    There is no such thing as "one DBMS is faster than another". Instead, when you compare the performance, you should always say what's the test to compare performance.

    I work with both of them, so I can compare both. Personally, I see many cases, especially when the data model is complicated enough, when PostgreSQL is faster than MySQL. But for that I am spending some extra efforts, because many OSS projects are ported to work with one DBMS, not with both.

    I love PostgreSQL and it's functionality but unfortunately there are still many developers of other open source projects who heard about MySQL and did not do any research for existing alternatives and thus made his project based on MySQL.

    And, again unfortunately, while PostgreSQL is very close to SQL standard, but MySQL is not that close, so you cannot just substitute the database library - you have to re-write (and thus re-test) all SQL code of the project. So, that's why I still have to use MySQL.

    With all my respect to great technical quality of PostgreSQL software, I think PostgreSQL team doesn't do a great job to make PostgreSQL being popular. The athmosphere in PostgreSQL community reminds me the one of BSD (read: very unfriendly).

    --

    Less is more !
    1. Re:There is no such thing as "faster" by GMontag · · Score: 1

      Well, don't forget PostgreSQL is a REAL database. It looks like MySQL wants to continue being a file system with an almost-SQL front end.

    2. Re:There is no such thing as "faster" by axxackall · · Score: 1
      I don't forget that as I have to use both. But unfortynately many MySQL do not remember that, or should I say - they do not know that.

      It's a more general problem with a level of education and engineering culture among many OSS developers. Most of them really think that MySQL is a real DBMS in a same way as PHP is a real programming language. That's why I think that PostgreSQL community does not do enough job to educate OSS community about what is REAL DBMS and why it is important.

      --

      Less is more !
    3. Re:There is no such thing as "faster" by john_smith_45678 · · Score: 1

      I've found the Postgres community to be *very* helpful and friendly. The support over on their mailing lists has been outstanding and prompt.

    4. Re:There is no such thing as "faster" by ma_sivakumar · · Score: 2, Informative
      The athmosphere in PostgreSQL community reminds me the one of BSD (read: very unfriendly).

      In my experience the PostgreSQL user mailing list pgsql-general@postgresql.org is one of the most friendly mailing lists I subscribe to.

      You get answers to trivial questions as well as very complex ones. I have not seen anyone flamed for asking something. People are very helpful. I have seen a couple of cases where problems affective live databases were sorted in the mailing list threads within hours.

      I do not understand what do you mean by "very unfriendly")

      (I use postgresql for our application)

      --
      yAthum UrE yAvarum kELir All the places are our place, everybody is our kin. (A Tamil Poet - 2000 years ago)
  25. Re:Captain's Log: My Anus is too Fucking Tight by Anonymous Coward · · Score: 0
    Mr Yoda doll, this is OnStar.

    Don't panic, but you seem to be shoved up the ass of an overweight geek.

    We'll stay with you on the line until the spelunker and protologist arrive to extricate you from your precarious position.

  26. Best New Feature by corby · · Score: 4, Informative

    New autovacuum tool

    The new autovacuum tool in "contrib/autovacuum" monitors the database statistics tables for "INSERT"/"UPDATE"/"DELETE" activity and automatically vacuums tables when needed.

  27. Enough of the anti-MySQL garbage by wmshub · · Score: 1, Flamebait

    If you think PostgresSQL is now faster than MySQL, fine, post a real benchmark, with both databases being properly tuned.

    But MySQL has had transactions and row-level locking for quite some time now, so the fact that you claim that it doesn't indicates that you don't know what you are talking about.

    Futhermore, why must you bring up your dislike for MySQL in a message about Postgres' great new features? If Postgres really is improving, great! Talk about that! Why must you at the same time talk about how sucky MySQL is? (Especially since what you say about MySQL is clearly untrue).

    1. Re:Enough of the anti-MySQL garbage by Anonymous Coward · · Score: 0

      Because he is an idiot who doesn't understand "different tools for different tasks", and he has a big mouth. But this is Slashdot.

    2. Re:Enough of the anti-MySQL garbage by Anonymous Coward · · Score: 2, Insightful

      Untrue? Since when has MySQL had stored procedures? Do you even know what stored procedures are? Do you run 10 database queries on every web page?

      How about subqueries? Do you run a query and then run queries on the results in the application?

      Simple selects might be slightly faster in mysql, but very few applications do a single simple select at a time.

    3. Re:Enough of the anti-MySQL garbage by thing12 · · Score: 4, Informative
      But MySQL has had transactions and row-level locking for quite some time now

      Sure, row-level locking is nice -- even MSSQL has that. PostgreSQL has MVCC - so that writers never block readers and likewise. Complete data consistency (i.e. repeated reads give the same results) from the start of a transaction to the end of it. Can MySQL do that? (I am actually asking....)

    4. Re:Enough of the anti-MySQL garbage by schon · · Score: 2, Insightful

      he is an idiot who doesn't understand "different tools for different tasks"

      So a guy I work with was bitching about his Geo Metro the other day - he was complaining (for the umpteenth time) that it takes too long to drive the 300 miles to work each day.

      So I say to him (again for the umpteenth time) "Dude, you work across the street from an airstrip, and your driveway is large enough to function as a landing field - get a plane."

      So the next day, he tells me that he decided to take my advice and try a plane - a small single-prop Cessna.. then he says that it sucked! It was slower than his Metro!

      "How can that be?" I asked.

      "Well, every time I got the damn thing over 40, the wheels came off the ground!" he says.

      "So? It's a plane, not a car - that's what's supposed to happen." I said.

      "That sucks!" He says, "I don't know how to fly a plane! I'm sticking with my Metro - it's faster than that Cessna!"

      Then I tell him that the Metro is only faster if you don't know how to fly a plane.

      And then he went and muttered something about "different tools for different tasks" - completely missing the point that he's ignoring the correct tool because he's unwilling to learn how to use it.

      There's a moral in there - I'll let you figure out how it's applicable to this conversation.

    5. Re:Enough of the anti-MySQL garbage by gabe · · Score: 1

      I don't think MySQL had any transaction capabilities in 1999. Which is what SuperBanana was referring to, in a historical sense.

      From InnoDB.com/news.html:
      "Innobase engine released in the MySQL-3.23.34a source distribution for Unix. Helsinki, March 12th, 2001"

      The earliest mention of BDB tables in MySQL I could find on google was for 3.23.30, which was released sometime after Jan. 2nd, 2000 (the day 3.23.29 was released).

      Also, people tend to compare PostgreSQL and MySQL because they are the two most popular open source DBMSs. It really doesn't seem to have anything to do with the technical merits of the products. Otherwise PostgreSQL would be compared to InterBase/Firebird and SAPdb / MaxDB.

      --
      Gabriel Ricard
    6. Re:Enough of the anti-MySQL garbage by wmshub · · Score: 0, Flamebait

      Ummm...actually, did you notice that my post only said that MySQL has row-level locking and transactions?

      OK, I know you were just trolling for an answer, but sheesh. Unlike the original poster, I do know what features MySQL has. I didn't say it had all features, just that two of the ones the poster had criticized it for lacking were not, in fact, lacking at all.

      And unlike you, I can actually read a posting and understand what it says.

    7. Re:Enough of the anti-MySQL garbage by laurat · · Score: 1

      You should have a look at MySQL again. It now has subqueries and stored procedures (and I believe views) are available in alpha.

      I like MySQL for its lack of bugs in releases and excellent user community. PostgreSQL is also a good product but quite frankly its documentation and user community sucks. And why does everything come back to MySQL? The pg community should focus on their own product. At the moment they have a reputation for being a bunch of bitter grumpy old programmers.

    8. Re:Enough of the anti-MySQL garbage by micromoog · · Score: 1

      I love how people keep referring to such fundamental database requirements as subqueries and stored procedures as "features". MySQL is basically analogous to a word processor program that hasn't yet implemented punctuation or capitalization "features".

    9. Re:Enough of the anti-MySQL garbage by Sxooter · · Score: 1

      OK, here's a nice set of features we could benchmark:

      triggers
      views
      check constraints
      stored procedures
      partial indexes
      functional indexes

      Oh wait, MySQL doesn't have any of those features.

      It's hard to benchmark two databases that are so very different, since we can either restrict the test to only things that both have in common, leaving out a huge number of features PostgreSQL has that MySQL doesn't, or we can try to write a benchmark that lets PostgreSQL use its features while MySQL tries to catch up in Perl/PHP code on the outside of the database.

      Either way, one side is gonna call it an unfair test.

      There are some nice benchmarks, but I don't think they'll run on MySQL:

      http://sourceforge.net/projects/osdldbt/

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    10. Re:Enough of the anti-MySQL garbage by Sxooter · · Score: 1

      Sorry, but I take offense at this attack on our community. I've gotten the fastest, best responses from the Postgresql mailing lists of any product, free or commercial, I've ever used.

      Tom Lane, Peter Eisentraut, Bruce Momjian, Josh Berkus, and many others have been instrumental in answering hard questions, and they do so in a polite, if terse manner.

      The documentation is great, if you already understand basic database theory. Agreed, there's not a lot of hand holding like how to make your first left join pretty, but there's lots of good documentation, and it is always getting better.

      If you don't like the documentation, either contribute something to make it better, make a suggestion on how others can make it better, or stfu.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  28. Yes! by Futurepower(R) · · Score: 1

    I'd love to have a native Windows version, also.

  29. VMWare? by Anonymous Coward · · Score: 0

    Why not just get a copy of VMWare and run PostgreSQL under that?

  30. Not really what I meant... by Space+cowboy · · Score: 2, Interesting

    Hmm. re-reading my post, I can see why you replied like you did, so let me spell out the case I have:

    There's a DB with (currently) about 30 million rows in it, it's the audit trail for a clients adserver. Queries are run on the db by their clients to figure out their usage, click-throughs etc. over periods. The ad-server gets anything from 0 to ~20 inserts per second across some 200 sites, and depending on the client policy, is cleared daily,weekly,monthly or yearly of that clients data.

    Now, my understanding of the vacuum command was that it effectively took the DB offline (not good with the hit-rate I have), and my understanding of 'auto-vacuum' was that it would negate that effective downtime. It appears that that is not the case.

    MySQL copes with this quite happily. I was simply investigating whether postgres would cope equally happily... more strings to the bow etc...

    Simon

    --
    Physicists get Hadrons!
    1. Re:Not really what I meant... by Qzukk · · Score: 3, Interesting

      Now, my understanding of the vacuum command was that it effectively took the DB offline (not good with the hit-rate I have), and my understanding of 'auto-vacuum' was that it would negate that effective downtime. It appears that that is not the case.

      Normal VACUUM commands do not lock tables as of 7.3. Only the full vacuum command does this, which you probably only need to use when permanently retiring a client, rather than just rotating out their data, as the lock is used to actually repack the database on the filesystem to reduce the filesize.

      For your needs the normal vacuum provided by auto-vacuum should be sufficient, as you're going to fill up the empty filespace with the next period's data anyway.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    2. Re:Not really what I meant... by Anonymous Coward · · Score: 0

      Jebus, you've got 30 million rows of critical data, and you're trusting it to MySQL!?!?!

      Even James Bond doesn't live that dangerously!

    3. Re:Not really what I meant... by GooberToo · · Score: 1

      The ad-server gets anything from 0 to ~20 inserts per second across some 200 sites, and depending on the client policy, is cleared daily,weekly,monthly or yearly of that clients data.

      Vacuum after you purge this data and you're done.

      Now, my understanding of the vacuum command was that it effectively took the DB offline

      Not true since 7.3, which has been out a while.

      my understanding of 'auto-vacuum' was that it would negate that effective downtime. It appears that that is not the case.

      Auto-vacuum attempts to automatically determine the tables and frequency that need to be vacuumed. It basically saves you from having to create a cron job or make it part of your standard, daily todos. Having said that, since 7.3 (we're talking 7.4 now), you have been able to vaccum your tables without interferring with production. The auto-vacuum feature is just icing on the cake.

      MySQL copes with this quite happily. I was simply investigating whether postgres would cope equally happily... more strings to the bow etc...

      PostgreSQL happy copes with that much data in a production environment, and far, far, far more.

  31. Re:Just when you thought it would never happen to by Anonymous Coward · · Score: 0

    Or maybe you could have paid attention yesterday when you downloaded it. It was out all day yesterday. Quit your whining!!

  32. Sequel by Anne+Thwacks · · Score: 1
    "Sequel" is a Microsoftism.

    This is just ignorance ... "Sequel" was an IBM product that SQL replaced. (In the early 1960's AFAICR.)

    --
    Sent from my ASR33 using ASCII
    1. Re:Sequel by GMontag · · Score: 1

      Yea, so get in the now and say S Q L, not the oldentimes way.

    2. Re:Sequel by generic-man · · Score: 1

      ...this manual uses the former pronunciation.

      Since when do manuals speak?

      --
      For more information, click here.
  33. Today on ask slashdot: by Anonymous Coward · · Score: 0

    If I install a Fleshlight in my Roomba, does that make me a turtle-fucker?

  34. Re:Santorum this! by Anonymous Coward · · Score: 0

    I think the word you're looking for is "Democrat".

  35. People use MySQL because its pronounceable by Anonymous Coward · · Score: 0

    So we should rename PostgreSQL to Prequel?

  36. YHBT YHL HAND by Anonymous Coward · · Score: 0
  37. Where's the master master / master slave support by Serveert · · Score: 1

    Boo!

    --
    2 years and no mod points. Join reddit. Because openness is good.
  38. Re:history of postgresql by Anonymous Coward · · Score: 1, Funny
    Yeah, but Oracle manuals are heavier!

    and besides, development in Oracle is so slow, I can still use my Oracle 5 for DOS manuals while coding Oracle 9 for Linux!

  39. Defending Mysql: Innodb. by AmVidia+HQ · · Score: 1

    Feature-wise, I agree PostgreSQL is way more loaded. And full, native transaction support prob. makes it more reliable too. So use it if you are building a banking system (or anything that deals heavily with money, where reliablity is paramount). But Mysql is designed for speed and average use on websites, where performance is important. So stop saying Mysql sucks because it doesn't have feature X or feature Y.

    For losing data and poor performance with updates and inserts, Innodb gives you transaction and row level locking. These problems apply only to the default MyISAM table type. I use MyISAM for heavy SELECT tables, and Innodb for more updated and inserted tables, and in ones I don't want to lose data in.

    --
    VIVA1023.com | Political Fashion.
    1. Re:Defending Mysql: Innodb. by GooberToo · · Score: 1

      But Mysql is designed for speed and average use on websites

      The problem with that statement is, MySQL has historically performed very poorly even for mostly read-only sites where any level of concurrency is required. Historically, MySQL rocks with one or two users and starts to take a bath as you begin to add more concurrency. If you have to mix read/write activity, then MySQL is absolutely horrid. This is why, again historically, when people test MySQL using their simple, single user tests, MySQL shines. When used in production, MySQL historically stinks like rotten eggs. PostgreSQL, on the other hand, scales rather well. Furthermore, the last two or three major releases has further increased its scalability.

      Now then, throw a complex query at MySQL, it will smell like a dozen rotten eggs on a hot summer day.

      Long story short, I'm constantly amazed at why people would defend such lessor product. Is having to be right so important? Why can't people just acknowledge that PostgreSQL is the better product and move on.

    2. Re:Defending Mysql: Innodb. by AmVidia+HQ · · Score: 1

      Slashdot runs on Mysql last time I checked.

      I run a search engine with peak 100 concurrent fulltext searches using Mysql, see my sig.

      Historically, Innodb didn't exist until "recently". Mysql and Postgresql have their own strengths, but saying one is superior because it has more features is equally lame.

      --
      VIVA1023.com | Political Fashion.
    3. Re:Defending Mysql: Innodb. by kpharmer · · Score: 1

      > Feature-wise, I agree PostgreSQL is way more loaded.

      *Way* more loaded? nah, just a little. It's the fundamentals where it shines: build-in support for transactions, ANSI-sql compliance, etc.

      > So use it if you are building a banking system...
      Or any operational system where data is valuable. Which is just about any application I'd spend my time building...

      > But Mysql is designed for speed and average use on websites, where performance is important.
      Data quality isn't important on websites? How about portability then? Or time-to-market? How about manageability and maintainability? Postgresql outshines mysql on all counts.

      Performance is important - but it's just one of a half-dozen factors you should be looking at.

      > So stop saying Mysql sucks because it doesn't have feature X or feature Y.

      Deal - I won't complain that it doesn't have some of the legacy bells & whistles of the 80s that the commercial dbms are still carrying around, or some of new frills either (built-in etl, etc).

      But, aside from features, it still sucks since it lacks good support of transaction and ansi sql compliance. Now, once it has those capabilities, then I'll take a serious look. But until then it isn't worth the time as long as other, better, options exist.

    4. Re:Defending Mysql: Innodb. by Sxooter · · Score: 1

      And if you check slashcode, you'll see that every single page that comes up is pretty much static and pre-packaged because of problems with MySQL handling load. And don't get me started with the HUGE delay when an article is being published, the whole site has been known to go catatonic for minutes at a time when that's going on.

      Slashdot may run on MySQL, but that doesn't mean MySQL scales well, it means slashdot was originally written for MySQL, and it's not so easy to move off of it as much as it means anything.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    5. Re:Defending Mysql: Innodb. by AmVidia+HQ · · Score: 1

      personally i don't care about sql compliance (as long as it's not wildly different), but yes reliablility is important. But, again, Innodb supports transaction and referential key constraints (although not very well). I have lost data (non important ones) in MyISAM when the server constantly crashed (hardware problems), but never when I used Innodb with some speed penalty.

      and, just to join the bashing fun, vacuum in postgresql is gay =b

      --
      VIVA1023.com | Political Fashion.
    6. Re:Defending Mysql: Innodb. by DAldredge · · Score: 1

      And the only way to backup those innodb tables with out taking the db down is to pay a chunk of money for their backup tools.

    7. Re:Defending Mysql: Innodb. by kpharmer · · Score: 1

      > personally i don't care about sql compliance (as long as it's not wildly different)

      unfortunately, it isn't merely an academic issue: it means that applications and skills can't be easily ported.

      > and, just to join the bashing fun, vacuum in postgresql is gay =b

      lol, yeah nothing's perfect.

    8. Re:Defending Mysql: Innodb. by __past__ · · Score: 1
      personally i don't care about sql compliance (as long as it's not wildly different)
      unfortunately, it isn't merely an academic issue: it means that applications and skills can't be easily ported.
      You imply that the target you port to is SQL compliant as well ;-)

      But seriously, you are right of course. You shouldn't call something with such a weak support for SQL "MySQL", except when it is to be interpreted as "definitely not your SQL". Just as you shouldn't call it a database management system when the only justification is that most of the common features associated with this term are scheduled for experimental implementation in the next couple of years.

    9. Re:Defending Mysql: Innodb. by GooberToo · · Score: 1

      I'm fully aware of the fact that /. is running MySQL. As most /.'ers are well aware of, MySQL is the reason why ./ often has serious down time. Furthermore, MySQL has been unable to scale for years and years now. To work around the many, many short commings and failings of MySQL, most pages are statically rendered and even then, /. still suffers.

      If you want to point a finger at /. and say, "see", understand that you made the case that MySQL is a joke for any serious (scalable) website. In fact, SF used to run MySQL and they had to port to PostgreSQL to be able to function at all. They out grew MySQL really quickly. They were thrilled with PostgreSQL. The only reason they finally went to DB2 is because the dot com boom was over and they needed cash. IBM offered a sweetheart deal with DB2 and some advertising cash.

      What do these stories tell you? It tells you that MySQL is a joke and that PostgreSQL scales and performs up there with the big boys.

      Historically, Innodb didn't exist until "recently".

      Actually, Innodb has existed for a while now. Most anyone that thinks of MySQL automatically consider Innodb to be part of the mix. MySQL is a play toy without. The down side is, MySQL performs even worse with it. Which in turn, further clouds the issue in most MySQL user's minds.

      There are generally two camps that pop up every time I see MySQL brought up. Those that know and understand RDBM systems and those that use MySQL.

    10. Re:Defending Mysql: Innodb. by AmVidia+HQ · · Score: 0, Troll

      ok, you understand RDBMS more than i do. Can you give some benchmarks of when Innodb would be slower than Postgresql? Is the scalability jokes you refered to, uses innodb? Can you give some example of what makes Postresql more scalable, beside being more sql compliant or closer to a "read rdbms"?

      you see, i'm not a mysql zealot. Really. I only want to see facts in when is one faster than the other, what level of scalability one can reach over the other, etc. I'm not interested in theoretical debates of RDBMS or SQL compliance. I don't need the kitchen sink either, i just want something fast and reliable.

      --
      VIVA1023.com | Political Fashion.
    11. Re:Defending Mysql: Innodb. by GooberToo · · Score: 1

      Can you give some benchmarks of when Innodb would be slower than Postgresql?

      Actually, the problem isn't so much that you can point a finger at Innodb. Having said that, Innodb is slower than straight up MySQL tables. Aside from that, you need to remember that it's the overall design that's making the difference. PostgreSQL implements a scheme called versioning which greatly reduces the amount of table locking required (see mvcc for more information and explanation). Interestingly enough, this is very simular to what Oracle uses. Beyond that, PostgreSQL has an excellent caching mechanism which greatly helps reduce disk I/O.

      No matter how fast you can access your tables, if you can't effectively determine a plan to access your tables, you're going to be slow. PostgreSQL has an excellent optimizing query planner. MySQL has nothing like it. This means that if you use queries which are more than, "select * from foo ;", and have more than a couple of rows worth of data, or multiple indexes (multiple data paths) a query planner is probably going to be important to you. Furthermore, PostgreSQL's planner is highly tunable and the query plans are easily obtainable (for review, validation and optimization). Furthermore, the query planner even supports a genetic algorithm to aid optimizing data path access in even the most bizzar of production query requirements (see GA link for more information). To boot, the planner fully understands virtual I/O, physical I/O, indexes, various join types and algorithms, and is able to grok very complex queries fairly well. This is not to say it's perfect. It's not. Just the same, this feature alone is head and shoulders above MySQL. This is why tables joins is often an problem for MySQL's performance.

      Is the scalability jokes you refered to, uses innodb?

      Please keep in mind that I was being overly cynical. Just the same, most performance benchmarks which attempt to put MySQL in good light, attempt to minimize the use of Inno tables. The reason being, inno tables impose a performance hit because of the extra features (transactions, etc). Because of this, tests often attempt to NOT use innodb tables unless the test is specifically in place to validate transactional support and associated features. This means, that MySQL almost always looks wicked fast unless data validity is important to you. If it is, you take a performance hit. In both cases, hope you don't have to read and write data at the same time in the same tables. If you do, the table locking will shoot you in the foot. This, for both native and inno tables.

      Can you give some example of what makes Postresql more scalable, beside being more sql compliant or closer to a "read rdbms"?

      Well, being more SQL compliant really doesn't make it scalable. It's nice and all, but it doesn't do anything for scalability. It does, however, allow you to leverage generalize SQL expertise much more easily. Which, in turn, can translate to better performance.

      Let's talk a little bit about performance and scalability. Performance is generally measured in the latency of asking for a result and the time it takes to get a *complete* result back. I stress complete here because somes tests improperly measure. In some cases, some RDBMS will attempt to start returning result sets VERY quickly in order to give the illusion that it's latency is very low, however, the total time for the operation is much, much higher. Thusly, we'll say time for a *complete* result set. In most cases, a partial result set is worthless or out of context until all of the data is available for analysis.

      Scalability, on the other hand, is the ability to continue to delivery timely (low latency) results as the load increases. For a typical DB, load generally means inserts, updates and deletes, however, specific workload

  40. No flames... by Anonymous Coward · · Score: 5, Interesting

    We have one client who uses Linux, the rest are all Windows-based... Is there an unbiased (as far as can be) comparison ?

    Now, see your problem?

    Neither PosgreSQL or mySQL are full, complete, and utterly perfect implemtations of a database. Neither is Oracle, BTW.

    mySQL got a HUGE push some time ago. Back then, mySQL couldn't be beat for handling read-only (Actually, highly read-almost exclusively always). mySQL was a champ when you had a web site, mostly static catalog of products (for example), and had really limited demand for SQL (Like one query that read 'select * from catalog;')

    That basis of comparison is no longer true.

    So, at the time, hords of little corporate minions lined up and specified mySQL. Not a bad bet at the time, but open mindedness only seems to happen once in computer circles. Day 1 you have a need, day 2 you actually research available solutions, and day 3 you declare a "winner" and it is forevermore cast in stone as the "one true solution". The fact masses of people tend to go thorugh the same process at basically the same time doesn't help. Thus the broad noise that mySQL is "the Answer(tm)".

    Anyway, postreSQL has always sought to compete in the full function space. Oracle was/is a much better "comparison" to postgreSQL than mySQL.

    Now, both mySQL and postreSQL have improved over time - greatly. postgreSQL seems to be focused on getting things "correct", while mySQL doesn't seem so concerned. Bascially postgreSQL will not provide a feature, while mySQL will hacking it together in some bizzare way (re: early "transaction" handling). mySQL has quite a few anti-social behaviors. Over time, their refinement of those various behaviors drive certain development costs and create some degree of lock-in dependency (a continuing basis for self-justification).

    Bottom line, if you invested in learning and implementing mySQL, and it is still working for you, then there is absolurely no need to be concerned with postgreSQL yet.

    If you are in the database selection mode, you should surely look towards postgreSQL and try to de-hype yourself from any pro-mySQL bias. Hype has inertia and much of the pro-mySQL hype is based on old comparisons and narrow needs. Yes, evaluate both, but don't assume mySQL or postgreSQL is "better" based on what you hear.

    1. Re:No flames... by Space+cowboy · · Score: 1

      Cheers, my friend.

      Simon.

      --
      Physicists get Hadrons!
  41. Re:history of postgresql by prof187 · · Score: 1

    isn't maintaining standards throughout development a good thing? people get upset if they upgrade and things magicall Don't Work anymore.

    --

    My other sig is an import.
  42. Can it...? by Lodragandraoidh · · Score: 1

    I have never had the pleasure of playing with PostgreSQL - does it allow you to partition your database (multiple buckets) so that a flat search on all fields returns in a reasonable period of time (a la Oracle 9i Rac)? Along those lines does it allow raw mode access, as well as file access?

    I would be interested in getting my hands dirty if it would be worth my while.

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
    1. Re:Can it...? by Anonymous Coward · · Score: 0

      There isn't a way to do exactly what you say you
      want, but partial indexes may allow you to do what
      you want.

  43. Did anyone notice today that.... by icejai · · Score: 2, Informative
    MaxDB is out?

    MaxDB is a sort of merger between sapdb and mysql. As of today, MaxDB includes features such as:

    * Views * Server-side cursors * Stored procedures and triggers * Automatic failover (to a standby server) * Scheduling and automatic messaging on alerts * Snapshots * Archive tables * Synonyms

    And these are features in addition to mysql's feature set!

    Check it out guys! http://www.mysql.com/products/maxdb/index.html

    But don't be in too much of a rush to upgrade, mysql interoperability is slated for Q1 of 2004.

    Enjoy!

    1. Re:Did anyone notice today that.... by Anonymous Coward · · Score: 2, Funny

      these are features in addition to mysql's feature set!

      Wait - MySQL has a feature set?

      I thought that it's lack of features was what made it better than everything else.

      damn.. now I'm all confused.

    2. Re:Did anyone notice today that.... by rjamestaylor · · Score: 1
      Did anyone notice that *yesterday* there were two significant vulnerability alerts related to SAP DB?

      What does it say about MySQL that MaxDB is necessary? *Pondering significance*
      --
      -- @rjamestaylor on Ello
    3. Re:Did anyone notice today that.... by gabe · · Score: 1

      No, those features are NOT in addition to MySQL's feature set. MaxDB is a completely separate product from MySQL. All that MaxDB is, at least this version, is a rebranded SAPdb 7.5 with a MySQL proxy so you can connect to it with existing MySQL client software. It is NOT a combination of MySQL and SAPdb. Eventually, they will be merged, but this is just the first step.

      --
      Gabriel Ricard
  44. Re:history of postgresql by I8TheWorm · · Score: 1

    And bill at a much higher rate because you still have to manually do (EXTENTS) everything that most other RDBMS providers handle automatically.

    --
    Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  45. They need a sexier logo, too. by Anonymous Coward · · Score: 0

    Elephants aren't sexy.

    1. Re:They need a sexier logo, too. by Anonymous Coward · · Score: 0

      Except to other elephants?

      And the average size of a techie is?

  46. Re:Just when you thought it would never happen to by Alex · · Score: 1


    These types of posts are lame.

    Who the hell cares if you compiled this on some archaic beast and now have to recompile? Here, I'll give you $10, go buy a machine that's 5x faster.

    Same with all those "Damn, I just downloaded the ISO yesterday and now there's a new version... teeheeee" get a life. No one cares about you and your 9600 dialup connection you're saturating using archaic means of installing an OS. (read: iso based installs)


    You've heard of jokes right?

    Alex

  47. Re:history of postgresql by cybrthng · · Score: 1

    Just configure your defaults or use the defaults.

    Oracle allows you to specify extents because matching your data from block size, extent size and buffer sizes all the way up allows you to tune for your data, your throughput, your filesystem io and your information's typical size.

    That is a feature my friend, not a nuesance :)

  48. OT: Re:Why use PostgreSQL over MySQL? by Observador · · Score: 1

    Off-Topic but still felt compelled to answer...

    Some of the "gotchas" mentioned in your link actually make sense:

    If no DEFAULT value is specified for a column, MySQL automatically assigns one, as follows. If the column may take NULL as a value, the default value is NULL. If the column is declared as NOT NULL, the default value depends on the column type: (...)

    Which is to say that a string column that accepts NULL can have (wait for it...) null string ""... where's the gotcha in that?

    The thing about timestap columns makes perfect sense... the insert into select thing (where you should just define temp tables...

    Also please remember that MySQL tries to be a fast and reliable db server and i guess some of those gotchas are in fact side-effects of that

    --
    I wish I could filter out the annoying Pickens articles...
    1. Re:OT: Re:Why use PostgreSQL over MySQL? by Zathrus · · Score: 1

      Setting nullable columns to null as a default is fine and dandy.

      Setting not null columns to some unspecified default is, well, dangerous. Proper SQL would refuse to insert/update the row and throw an exception (or the equivalent thereof for the database). Blindly changing the data and accepting the change is a bad, bad thing.

      Note -- I have lots of experience with commercial RDBMS (mostly Oracle, a good bit of Sybase and MS SQL Server) and nearly none with MySQL. Absolutely none with PostgreSQL. So my POV is tainted from that perspective.

      Off to read the list now...

    2. Re:OT: Re:Why use PostgreSQL over MySQL? by Russ+Steffen · · Score: 1
      Which is to say that a string column that accepts NULL can have (wait for it...) null string ""

      No, you're missing the point. In a database, a NULL and a empty ("") string are two distinct concepts. In this case the complaint is that a column is declared NOT NULL (it cannot have NULL as a value) and no declared default value. If insert a row without providing a value for that column MySQL incorrectly converts your implicit NULL to an empty string. Every other real database will fail the insert because insert violates the data contraints of the table. That's the gotcha.

    3. Re:OT: Re:Why use PostgreSQL over MySQL? by Guillermito · · Score: 1

      No. That doesn't make sense.

      If you, as a DBA, declare a column as NOT NULL is because you want to define an integrity rule. You are saying: "The programmer HAS to provide a value here, otherwise dont't accept the data". Integrity rules are the way you protect the data from the programer's mistakes.

      If a column is declared as not accepting NULLS, and a default value is not provided, and the user trying to insert a tuple doesn't provide a value either, then the normal behavior for any decent database is to reject the tuple and not to perform the insertion, that is, a decent database protects the integrity of your data.

    4. Re:OT: Re:Why use PostgreSQL over MySQL? by Observador · · Score: 1

      The defult is not unspecified it depends on the column type. If, for example, you have a NOT NULL currency column (maybe because your legacy app expects to have a value returned whenever it gets its currency values from the db) then the defult is 0.00 but certainly not "" or NOT NULL as it would crash your app...

      --
      I wish I could filter out the annoying Pickens articles...
    5. Re:OT: Re:Why use PostgreSQL over MySQL? by Observador · · Score: 1

      I stand corrected...

      --
      I wish I could filter out the annoying Pickens articles...
    6. Re:OT: Re:Why use PostgreSQL over MySQL? by Anonymous Coward · · Score: 0

      you have a NOT NULL currency column ... then the defult is 0.00

      And if you don't see a problem with this, then you're hopelessly brain damaged.

      If you attempt to insert invalid data into a table, the DB should throw an error. It should not, under any circumstances silently accept the invalid data, and change it to something else. EVER .

    7. Re:OT: Re:Why use PostgreSQL over MySQL? by alan_dershowitz · · Score: 1

      FYI, Oracle doesn't discern the difference between empty string and null. Apparently it did at some point in the past.

    8. Re:OT: Re:Why use PostgreSQL over MySQL? by Trifthen · · Score: 1

      This has actually irked me about MySQL for a long time, even though we use it quite extensively.

      The first time I noticed it, I actually sat befuddled as to what was going on. Oracle would have rejected the row, since I was trying to insert a NULL value into a NOT NULL column. When I finally figured out what was going on, I adapted our application to the behavior, but that doesn't mean I like it.

      To this day, the only reason I don't advocate postgresql at our company right now, is that vacuum doesn't recover index space. We have tables with 90% daily turnover, and without daily reindexes, those indexes reach gigs if we don't catch them. Regardless of any improvements, I will continue to suggest against Postgresql until that little problem is fixed.

      Data integrity is nice and all, but retrieving said data in a timely fashion is a tad problematic if indexes are essentially polluted with old data.

      --
      Read: Rabbit Rue - Free serial nove
    9. Re:OT: Re:Why use PostgreSQL over MySQL? by IpSo_ · · Score: 1

      Have you tried 7.4? Although it doesn't fix this issue 100%, it has apparently gotten it to the point of a non-issue.

      --
      Open Source Time and Attendance, Job Costing a
    10. Re:OT: Re:Why use PostgreSQL over MySQL? by alan_dershowitz · · Score: 1

      Oops, let me clarify: Oracle still won't let you insert emtpy string into a not null column BECAUSE it considers them the same. So it still does what you expect.

    11. Re:OT: Re:Why use PostgreSQL over MySQL? by Anonymous Coward · · Score: 0

      What it actually does is change the table definition so that the default value IS set to 0.0 for the currency column. This is done when you create the table, and if you ask for the schema back you'll see that it has done so. So the insert goes exactly as per the spec and the create statement behavior can be discussed.

      It makes perfect sense, I'm sure a lot of people would have trouble if it wasn't like this. You must understand that the typical MySQL user creates his tables like this:
      "I need 3 integers, 5 varchars". That's it, that's the information he has when he creates the table. Maybe next week he'll come back and slap on an index if he remebers. And there's nothing wrong with that, it allows him to run his bulletin board without being an DB expert, or even caring about his DB.

    12. Re:OT: Re:Why use PostgreSQL over MySQL? by Mark+Shewmaker · · Score: 1
      To this day, the only reason I don't advocate postgresql at our company right now, is that vacuum doesn't recover index space.
      It looks like it does now. From the Postgresql 7.4 release notes:
      Make free space map efficiently reuse empty index pages, and other free space management improvements

      In previous releases, B-tree index pages that were left empty because of deleted rows could only be reused by rows with index values similar to the rows originally indexed on that page. In 7.4, "VACUUM" records empty index pages and allows them to be reused for any future index rows.

      An example in the Postgresql 7.4 documentation on the vacuum command shows the new lines of output:

      The following is an example from running VACUUM on a table in the regression database:

      regression=# VACUUM VERBOSE ANALYZE onek;
      INFO: vacuuming "public.onek"
      INFO: index "onek_unique1" now contains 1000 tuples in 14 pages
      DETAIL: 3000 index tuples were removed.
      0 index pages have been deleted, 0 are currently reusable.

      CPU 0.01s/0.08u sec elapsed 0.18 sec.
      [...]

      These improvements seem to address your complaint.

      We have tables with 90% daily turnover, and without daily reindexes, those indexes reach gigs if we don't catch them. Regardless of any improvements, I will continue to suggest against Postgresql until that little problem is fixed.
      Given that you wouldn't be needing to run the reindex or reindexdb commands on a regular basis anymore, I guess you might be changing your suggestions.

  49. Windows via cygwin by rjamestaylor · · Score: 2, Informative
    As soon as a MySQL version runs on Windows without cygwin, a PostgreSQL version will be available.

    What? You didn't know MySQL ran via cygwin?

    • C:\mysql\bin\cygwinb19.dll
    MySQL just has a better installation process is all.

    BTW, I run cygwin on my WinXPPro laptop (the only way I'll get UNIX-like OS features on my Dell Inspiron 5150 sadly) along with KDE3. Yep and uh-huh.

    --
    -- @rjamestaylor on Ello
    1. Re:Windows via cygwin by crisco · · Score: 1
      Hmm, funny thing is, when I rename the cigwin19.dll and restart the mysql service, mysql still works.

      Furthermore, take a look at the list of .dlls that mysql is using under windows, looks like a native app to me:

      C:\xampp\mysql\bin\mysqld-nt.exe
      C:\WINDOWS\System32\ntdll.dll
      C:\WINDOWS\system32\kernel32.dll
      C:\WINDOWS\system32\USER32.dll
      C:\WINDOWS\system32\GDI32.dll
      C:\WINDOWS\system32\ADVAPI32.dll
      C:\WINDOWS\system32\RPCRT4.dll
      C:\WINDOWS\System32\WSOCK32.dll
      C:\WINDOWS\System32\WS2_32.dll
      C:\WINDOWS\system32\msvcrt.dll
      C:\WINDOWS\System32\WS2HELP.dll
      C:\WINDOWS\System32\mswsock.dll
      C:\WINDOWS\System32\DNSAPI.dll
      C:\WINDOWS\System32\winrnr.dll
      C:\WINDOWS\system32\WLDAP32.dll
      C:\WINDOWS\System32\wshtcpip.dll
      Any chance that cygwin19.dll is there for some of the utilities instead of the database engine itself?
      --

      Bleh!

    2. Re:Windows via cygwin by Sxooter · · Score: 1

      This is misinformation. From my understanding, MySQL uses a single cygwin lib which is freely redistributable to provide for CLI paging functionality. That is all.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    3. Re:Windows via cygwin by Anonymous Coward · · Score: 0

      regardless, mysqal ships with cygwin

    4. Re:Windows via cygwin by rjamestaylor · · Score: 1

      Well...I shouldn't have said "run via" but MySQL still includes cygwin in its distribution. So, some part of the application depends on cygwin, as does postgreSQL but to a different extent. I don't think MS SQL Server uses cygwin for anything :^)

      --
      -- @rjamestaylor on Ello
    5. Re:Windows via cygwin by Sxooter · · Score: 1

      Yes, and if you remove that one dll, horror of horrors, you lose the ability to have CLI history in the mysql client. It's hardly the same.

      Keep in mind, I'm a huge fan of Postgresql, and think MySQL has plenty of real warts to worry about without making any up.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    6. Re:Windows via cygwin by rjamestaylor · · Score: 1

      I do not consider cygwin a WART!

      --
      -- @rjamestaylor on Ello
    7. Re:Windows via cygwin by bedessen · · Score: 1

      B19? Good lord, you're kidding right? That's frikkin ANCIENT. :-) Cygwin has advanced light years since B19.

    8. Re:Windows via cygwin by Sxooter · · Score: 1

      Me neither, but having to have it is one. I.e. PostgreSQL can only really run the main code base under cygwin, and while it runs reliably, the performance is mediocre at best. That's ok, cygwin is doing its job, allowing PostgreSQL to run on Windows reliably, albeit slowly.

      But relying on it IS a wart for PostgreSQL, and it's being addressed.

      That was all I meant. I love cygwin, what it lets me do (introduce windows users to F/OS software environments et. al.) but it's never gonna give the kind of performance that a native windows app will have.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    9. Re:Windows via cygwin by rjamestaylor · · Score: 1
      True enough; cygwin does slow down DASD (sorry, old school here) access.

      To be honest I'm not comfortable enough with postgreSQL to run it in production; I'm comfortable with mysql and ms sql server these days.

      --
      -- @rjamestaylor on Ello
  50. Re:Speaking of Databases.... by Anonymous Coward · · Score: 0

    I suspect you've got the name wrong.

    The language/system called S or Splus is commonly used for such things by financial companies. There's a free gnu version called R with an enormous library of prediction software:

    http://www.r-project.org/

    Don't expect to predict the market with it though. Incidentally, there's an interesting book called The Predictors about a group of physicists including Stephan Wolfram who were funded by a major Wall Street firm to write market prediction software (as opposed to the more common option pricing and risk avoidance packages that assume market efficiency)

  51. I wished postgresql was as easy to use as MySQL by xutopia · · Score: 1

    Sure the more features you have the more complicated something is. But these do not account for the added complexity on a Windows installation or even a linux installation. I also find running the thing to be harder to run and manage even under linux.

    1. Re:I wished postgresql was as easy to use as MySQL by pHDNgell · · Score: 1

      I found the opposite to be true. Does that mean we cancel each other out?

      --
      -- The world is watching America, and America is watching TV.
    2. Re:I wished postgresql was as easy to use as MySQL by OblongPlatypus · · Score: 1

      No, it means you attract.

      --
      -- If no truths are spoken then no lies can hide --
    3. Re:I wished postgresql was as easy to use as MySQL by IANAAC · · Score: 1

      If you were used to using another large relational database, you'd be saying you wished MySQL were easier to use. MySQL's SQL implemetation goes against a lot of standard practices.

  52. Link's broken by Thud457 · · Score: 1

    I didn't see any source code there.
    All I got was a core dump.

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  53. Re:It also depends... by cayenne8 · · Score: 1
    It also depends on the background you come from. If you are from an Oracle background (design, DBA), you will feel more at home and comfy with PostgreSQL I think. It has more of the 'feel' of a DB on the level of Oracle.

    IMHO, I find MySQL to me more along the lines of a db like Foxpro, DB2 or something...great for smaller, desktop or dedicated webserver needs...and just fine for that.

    But, if coming from an Oracle background, I find that the built-in transaction processing...procedural language, sequences, triggers, etc....is closer to what you are used to. I'd feel pretty comfortable using PostgreSQL in a critical environment. And I really don't consider ANY data I have to keep....to not be critical.

    My $0.02...

    --
    Light travels faster than sound. This is why some people appear bright until you hear them speak.........
  54. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  55. Re:Speaking of Databases.... by Anonymous Coward · · Score: 0

    First of all, I hope someone knowledgable chimes in with some information about K. In the mean time, this is what I understand of it.
    It is a language used in Kdb. A super fast database. The database (as well as, I believe, the language) is a array based. In other words, while most DBs access records on a row by row basis (if you want two column, the other three columns in a five column table will come along). It also doesn't do any transactions so it is not advisable to be used as a server with multiple clients (again, my understanding of it). It also tries to keep everything in memory.
    On top of those, it has native support for time series. While most DBs deal with 'sets' of data points (and do unions, intersections, etc.), Kdb is aware that the data is a time series and records in the db as such. You can do queries such as 'return an element which comes after another element which is 5% smaller than the element before it).

    Pretty cool, but need someone to explain it. (I've actually tried convincing postgresql people to implement it but they are a bit conservative).

  56. Why should he ?? by AftanGustur · · Score: 1


    I use PostgreSQL extensively, and I have had a hard time convincing my-mySQL (I'm so clever) exclusive friends to give it a try.

    Maybe, just maybe that's because your-SQL friend is having absolutely no problems with hiSQL and is simply too busy going forward with his life instead of bitching about what tool he should use on the problem.

    Never forget that "quality" is defined by the user, not the manufacturer.

    --
    echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    1. Re:Why should he ?? by GooberToo · · Score: 1

      Quality is defined by best practices and standards as accepted by the peers of it's creaters. Something can be of poor quality and still be okay for that user, but it's still low quality.

    2. Re:Why should he ?? by Matje · · Score: 1

      This is silly. Those best practices and standard you refer to are defined for some purpose. Some procedure is a best practice only if you intend to achieve the effect for which the practice is accepted to be best. Right?

      (In other words, using a hamer is a best practice for driving a nail into a wall. Using a hamer is not a best practice if you intend to screw a bolt into that wall).

      So if quality is defined by best practices, that means quality is dependent on the purpose for which the thing is meant - which I fully agree with.

      But this means that if a user is okay with something, it must be of high quality! For if it's okay, than it must fit the purpose that user intends it for, right?

      So repeat this mantra: Quality is in the eye of the beholder (and keep it in mind if you're developing software - the only thing that determines whether the software is any good is whether it fits the purpose the user intends it for)

    3. Re:Why should he ?? by GooberToo · · Score: 1

      This is silly.

      I'm amazed that you're giving push-back on something that is common sense.

      Some procedure is a best practice only if you intend to achieve the effect for which the practice is accepted to be best. Right?

      Right...and if you used a "best practice" on something that didn't apply, it would no longer be "best practice", now would it. Thusly, my statement is still intact.

      In other words, using a hamer is a best practice for driving a nail into a wall. Using a hamer is not a best practice if you intend to screw a bolt into that wall.

      Exactly. Using a hammer on a screw makes for a low quality screw driver. Someone (the user) may be happy with the situation but it doesn't change the fact that any carpenter is going to look at you like a dolt and immediately realize that a screwdriver is the "best practice". Seems you made my point. Thank you.

      But this means that if a user is okay with something, it must be of high quality! For if it's okay, than it must fit the purpose that user intends it for, right?

      No. It absolutely does not mean that. There is an old saying and it goes something like this. Ignorance is bliss. Running with the above example, if a user didn't even know about something called a screwdriver, they might be perfectly happy with their hammer. Now granted, it might be a mighty-fine, high quality hammer, but it's still a low quality screwdriver.

      So repeat this mantra: Quality is in the eye of the beholder (and keep it in mind if you're developing software - the only thing that determines whether the software is any good is whether it fits the purpose the user intends it for)

      Well, you can repeat that all you want, it still just plain wrong. Just because a user is happy with a tool, does not mean it's a quality tool. So, say after me, "Ignorance is bliss". Something tells me you'll be happy after you repeat that a couple hundred times. ;)

    4. Re:Why should he ?? by Matje · · Score: 1

      Amazing how you can agree with my reasoning yet disagree with the conclusion :)

      Running with the above example, if a user didn't even know about something called a screwdriver, they might be perfectly happy with their hammer. Now granted, it might be a mighty-fine, high quality hammer, but it's still a low quality screwdriver.

      Assume for a minute that there is a way to screw that bolt into the wall using telepathy. Wouldn't that be even better than that screwdriver? Wouldn't that make the screwdriver a low quality tool according to your reasoning? Now snap back.

      We don't know how to use telepathy. Worse, We don't even know whether it is feasible. Even more worse, we don't know whether someone else knows that it is feasible.

      So now you have the situation where the screwdriver *might* be a high quality tool, but we don't know, since there *may* be a better way, which we know *nothing* about and have no reason to assume exists, just like that poor guy that's still using the hammer.

      Explain me what's the difference between us with the screwdriver en him with the hammer and I might yield :)

      meantime, let me restate my view: Quality is a property which is assigned to stuff by individuals. Quality is a relative property, in the sense that the screwdriver is of better quality than the hammer with regards to getting a bolt into a wall. It is of high quality only because we know of no better way of achieving the same.

      Well, you can repeat that all you want, it still just plain wrong

      You didn't read my post carefully. *You* were supposed to repeat it ;)

    5. Re:Why should he ?? by AftanGustur · · Score: 1


      Quality is defined by best practices and standards as accepted by the peers of it's creaters.

      Let's assume that you are right, that would mean that quality of cow shit would be defined by cows ??? But the cow doesn't know the first thing about how it can be used as a fertiliser.

      Economics has a definitition of 'quality' (which you will hopefully learn later in school), that goes something like "How well the product fulfills the consumers expectation for that product".

      So you see, claiming that quality is defined by someone else than the consumer is simply blowing hot air out of your arse.

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    6. Re:Why should he ?? by AftanGustur · · Score: 1


      Right...and if you used a "best practice" on something that didn't apply, it would no longer be "best practice", now would it. Thusly, my statement is still intact.

      You missed an important part of the comment you were replying to, ... for which the practice is accepted to be best.
      Meaning that "best practice" is being used to try to get "quality". But it is still the consumer that defines the quality.

      Take a look at the ISO 9001 standard. It works by continuosly going back to the consumer and then tracing backwards through the manufacturing process and verifying that each step is fulfilling the requirements for the next step, in front of it, in the best possible way. In other words, "Quality" is a "product" of "Best practices". And "Quality" is defined by the next step in front of it, therefore the quality of the end product is defined by the consumer.

      You are confusing "Technically better" with "Quality". A product can be "Technically better" for some purpose, but if it is not that technic that the consumer wants, it's still lower quality.

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    7. Re:Why should he ?? by GooberToo · · Score: 1

      Wow. I haven't read anything this stupid in some time.

      According to you, only idiots can rate other idiots. Well, without being an idiot myself, I can assure you, you fit the bill.

      If you bother to pull your head from your tail pipe, you will quickly find that my statement is correct. Build a bridge. Ask an engineer about the quality of your bridge design and it's construction. Now then, your bridge might allow people to pass over it. Given that most people don't know anything about the construction of bridges or even basic engineering, they are more than likely to say, "Wow! What a great bridge. It lets me get to the other side. I sure couldn't do that before." On the other hand, someone that is fit and qualified to judge your bridge (a peer of the field) may say, "Wow! What a crappy bridge. The idiots that are using it are begging to fall to their death. This thing is a disaster waiting to happen." So, who do you listen to? Who's opinion of quality is correct? According to the fools (pst..hint, that's you too) that responded, the idiots that are challenging death are correct and have a "quality" bridge waiting to kill many. Meanwhile, in the real world, it's the engineer's opinion that really matters. He sets the standards that determines quality. And, based on his standards and industry best practises, it's crap. Like it or not, that's reality. Delude your self all you want, you're still on crappy bridge. If calling it "quality" makes you blind to the crap, that's fine, but it doesn't change the fact that it's a crappy bridge.

      So, go enjoy you ignorance and crappy bridges, meanwhile, I'll enjoy quality, and live.

    8. Re:Why should he ?? by GooberToo · · Score: 1

      "Webster's Revised Unabridged Dictionary (1913)"
      Quality Qual"i*ty, n.; pl. Qualities. F. qualit'e, L. qualitas, fr. qualis how constituted, as; akin to E. which.
      See Which.
      1. The condition of being of such and such a sort as distinguished from others; nature or character relatively considered, as of goods; character; sort; rank.

      We lived most joyful, obtaining acquaintance with many of the city not of the meanest quality. --Bacon

      2. Special or temporary character; profession; occupation; assumed or asserted rank, part, or position.

      I made that inquiry in quality of an antiquary. --Gray.

      3. That which makes, or helps to make, anything such as it is; anything belonging to a subject, or predicable of it; distinguishing property, characteristic, or attribute; peculiar power, capacity, or virtue; distinctive trait; as, the tones of a flute differ from those of a violin in quality; the great quality of a statesman.

      Note: Qualities, in metaphysics, are primary or secondary. Primary are those essential to the existence, and even the conception, of the thing, as of matter or spirit Secondary are those not essential to such a conception.

      4. An acquired trait; accomplishment; acquisition. He had those qualities of horsemanship, dancing, and fencing which accompany a good breeding. --Clarendon.

      5. Superior birth or station; high rank; elevated character.
      ``Persons of quality.'' --Bacon.

      Quality binding, a kind of worsted tape used in Scotland for binding carpets, and the like.

      The quality, those of high rank or station, as distinguished from the masses, or common people; the nobility; the gentry.

      I shall appear at the masquerade dressed up in my feathers, that the quality may see how pretty they will look in their traveling habits. --Addison.

      Syn: Property; attribute; nature; peculiarity; character; sort; rank; disposition; temper.


      Arguing with Webster and being wrong doesn't exactly bolster your position.

      You are confusing "quality" with "good enough" or "minimal standards".

      But it is still the consumer that defines the quality.

      Consumers determine appropriateness for use or application. In most cases, consumers emotionally, yet ignorantly, accept appropriateness to mean quality, however, that doesn't make it so. As I already pointed out, a low quality widget may be accepted by a consumer as a high quality solution, but that's only out of ignorance. It's not until a high quality solution is made available or presented to the consumer that he can begin to understand the difference of a high quality and low quality widget and truly judge the appropriateness, let alone estimate the quality.

      Personally, I have a hard time imagining anything so dumb to argue about. You wish to argue, go elsewhere. In the mean, I have no problem smiling and laughing at these responses. Needless to say, this will be the last bit of time I waste educating you guys on this.

    9. Re:Why should he ?? by AftanGustur · · Score: 1


      Wow. I haven't read anything this stupid in some time.

      Hold on a sec, I'l quote a few..

      According to you, only idiots can rate other idiots.

      A guy who once said " Quality is defined by best practices and standards as accepted by the peers of it's creaters." And it wasn't me :-)

      Ask an engineer about the quality of your bridge design and it's construction.

      Yes, and he would ansver me about the quality of the *design and construction* of the bridge. The quality of the *design and construction* of the bridge is how well is fullfills the expectations (call for tender) of those who asked for it to be built. I.e. the city or the state (the buyer). The *design and construction* of the bridge has to include things such cost, materials and architechture, and when you ask Joe sixpack about the quality *of the bridge* he won't be answering the same question.

      What a crappy bridge. The idiots that are using it are begging to fall to their death. This thing is a disaster waiting to happen." So, who do you listen to?

      You are not only asking a different question but also to people with different background to answer each question, so of course the answers won't be the same.

      You could just as well ask the Engineer if the bridge was high quality and then ask the contractor (who knows about all the bad practices that were used in the building). You could get different answers for exactly the same reason.

      In plain english : If the bridge crumbles down, because it was badly built, it doesn't change a thing about the quality of the bridge. Only how well people know about it.

      So, go enjoy you ignorance and crappy bridges, meanwhile, I'll enjoy quality, and live.

      If you realy belived what you are saying, you wouldn't know quality ..

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    10. Re:Why should he ?? by AftanGustur · · Score: 1


      As I already pointed out, a low quality widget may be accepted by a consumer as a high quality solution, but that's only out of ignorance. It's not until a high quality solution is made available or presented to the consumer that he can begin to understand the difference of a high quality and low quality widget and truly judge the appropriateness, let alone estimate the quality.

      You claim that "Quality" of a thing is somehow build into it and cannot change, and in the next sentance you claim that when a superior solution is made available, the quality of the first is reduced (which is what I am claiming since it's the consumer who defined quality.)

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    11. Re:Why should he ?? by GooberToo · · Score: 1

      According to you, only idiots can rate other idiots.

      A guy who once said " Quality is defined by best practices and standards as accepted by the peers of it's creaters." And it wasn't me :-)

      Ask an engineer about the quality of your bridge design and it's construction.


      Well, according to you, your parents are idiots too. Learn to read. Shesh. Common sesnse, it seems, really isn't so common. I had no idea idiots set the standards for being an idiot. I always thought people of the medical field and other educated scholars did. But, thankfully, I don't live in your sad little world.

      Rest ignored. Shesh.

    12. Re:Why should he ?? by GooberToo · · Score: 1

      You really need to learn how to read and comprehend. I never said any such thing. The quality of the bridge stayed the same; it was low quality. The thing that differed was the opinion of quality by people that are unfit to determine it's quality in the first place. Which was my whole point. According to you, the known and proven bridge of poor quality is actually of high quality, even while it's killing people even though those that are fit to determine it's quality have given a thumbs down. Wow! You're truly out there.

      Wow, the stupidity!

    13. Re:Why should he ?? by AftanGustur · · Score: 1


      Tsk, tsk, don't get all nervous and upset about this :-)

      Yes, going back to your post I see that I misread your statement about the hammer and the screwdriver. Mea culpa.

      The thing that differed was the opinion of quality by people that are unfit to determine it's quality in the first place. Which was my whole point.

      And how does that support your statement that quality is determined by the manufacturer ??

      Your almost 100 year old quotation from Webster did nothing to support your argument (and I have absolutely *no* clue as to why you copied the whole thing.)

      Unfortunately modern day books in economics are not freely availible on the Internet. So I found you this text from: http://www.issco.unige.ch/ewg95/node41.html

      "The quality of use, on the other hand, refers to the extent to which the product meets the requirements that result from the purpose for which the product is to be used. The consumer's purpose can be derived from their needs and the ways in which the consumer uses a product in daily life. From this point of view, the concept of the user of a product is very closely related to that of quality. "

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
  57. Re:history of postgresql by Anonymous Coward · · Score: 0

    Who do you know that actually provides a Relational Database Management System?
    There are lots of SQL DBMS's out there but SQL isn't relational.

    Null values anyone?

  58. Re:history of postgresql by ChannelX · · Score: 1

    Actually thats not true anymore. Lots of automated stuff in 8i (which has been around for a long time) and even more in 9i. Presumably even more in 10g but 9i takes care of all the major stuff.

    --
    My blog: http://jkratz.dyndns.org/~jason/blog/
  59. Never used PostgreSQL by DroopyStonx · · Score: 2, Insightful

    I'm thinking I should give it a while. I hope it's better than MySQL, because, in my opinion, MySQL is overrated.

    I've recently started a project using MySQL because we want to get away from the ridiculously overpriced licensing that MS makes you get. I'm not trying to be a troll or anything, but I'm trying to give a realistic viewpoint by someone who's used to MS crap, but really wants to switch over to open source.

    I love Open Source and I definintely try to keep an open mind about it (hey, whatever gets the job done at are more efficient and cost-effective manner is good stuff) and am by no means a Windows/Linux zealot.

    Take a look at MySQL's current state. Way behind on the times... for example: it *still* doesn't have stored procedures. Do you realize how annoying it is hardcoding SQL statements? There's complete lack of subquerying, which really makes it a pain to do certain calculations often requiring additional queries, which is extremely inefficient (although I do understand that it's currently in alpha).

    Things like this.. make me think twice. If these useful features haven't even been implemented yet, then how can I (someone who's used to using MS crap) trust it?

    I'm gonna give PostgreSQL a try and hopefull it has more functionality (and stability) than MySQL!

    --
    We have secretly replaced these Slashdot mods' sense of humor with a rusty nail. Let's see if they notice!!
    1. Re:Never used PostgreSQL by Serveert · · Score: 1

      although I do understand that it's currently in alpha

      It's been alpha for the last 2 years.

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

      "I'm gonna give PostgreSQL a try and hopefull it has more functionality (and stability) than MySQL!"

      More stability? (snort) I doubt that. Seriously.

      Say what you want about functionality, MySQL is one seriously freak'n stable platform.

    3. Re:Never used PostgreSQL by tangledweb · · Score: 2, Informative

      Take a look at MySQL's current state. Way behind on the times... for example: it *still* doesn't have stored procedures. Do you realize how annoying it is hardcoding SQL statements? There's complete lack of subquerying, which really makes it a pain to do certain calculations often requiring additional queries, which is extremely inefficient (although I do understand that it's currently in alpha).


      No, stored proceedures are in Alpha. Sub queries have been in production for a year.
    4. Re:Never used PostgreSQL by Wolfier · · Score: 1

      You'll not be disappointed...I made the switch a while back and have never looked back.

    5. Re:Never used PostgreSQL by Anonymous Coward · · Score: 0

      That's just wrong. Subqueries are being added in MySQL 4.1, which is in alpha. I use MySQL every day, so can't wait for 4.1 to hit production.

      Just see http://www.mysql.com/doc/en/Subqueries.html if you don't believe me.

    6. Re:Never used PostgreSQL by chriskl · · Score: 1

      PostgreSQL is at least as stable if not more stable than MySQL. The fact that it has a Write-Ahead Log has a LOT to do with that.

      MySQL's new features list reads like PostgreSQL's HISTORY file :)

      Chris

    7. Re:Never used PostgreSQL by slamb · · Score: 1
      Subqueries are being added in MySQL 4.1, which is in alpha. I use MySQL every day, so can't wait for 4.1 to hit production.

      Don't get your hopes up too much. I'd imagine their first implementation will suck. That's partially based on my distrust of the MySQL developers' abilities and partially based on a few comments I saw in the documentation you linked to:

      Starting with version 4.1, MySQL supports all subquery forms and operations which the SQL standard requires, as well as a few features which are MySQL-specific (from here)

      I'm suspicious of their MySQL-specific features. In the past, many MySQL-specific features have been dumb. I couldn't find specific mention of these ones, but I bet they're more of the same.

      MySQL's unofficial recommendation is: avoid correlation because it makes your queries look more complex, and run more slowly. ( from this page)

      Ugh! I use correlated subqueries all the time on Oracle and PostgreSQL with no performance problems. I'd guess from their comment that they're firing the subquery on every row of the outer query (which would run very slowly indeed). I think real databases replace these with equivalent but dramatically more efficient forms. (Like an "exists" subquery becoming another join condition and a distinct. Or a "not exists" subquery becoming a left join checking for nulls. Or however they implement it - it doesn't really matter; I type in something that is easy for me to understand/verify is correct, and they worry about making it perform well.

      The PostgreSQL people were thinking about this sort of thing in 1997. And hell, they just now got IN/NOT IN to have good performance.[*] And they're good at this sort of thing. I don't have a lot of faith in the MySQL people.

      ERROR 1235 (ER_NOT_SUPPORTED_YET)
      SQLSTATE = 42000
      Message = "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'"
      (from here)

      So it's obviously not a complete implementation.

      [*] - They probably could have gotten it to work a while ago but didn't because there was a workaround. (IN/NOT IN doesn't do anything EXISTS/NOT EXISTS can't, although IN/NOT IN is more terse.) Still, it shows you that there are likely to be a lot of gotchas in a new implementation.

    8. Re:Never used PostgreSQL by Anonymous Coward · · Score: 0

      It's stable... up to a point.

      For instance, you can't join more than 31 tables for instance. Some might say, "Well, you need to revise how you structure your database." Not at all the case. So because this can't join more than 31 tables, I need to create a temp table and rejoin THAT. While it's not really a complicated thing, it's just a shining example of "Oh, yeah well.. it can't do this."

      As mentioned in the parent response, there aren't stored procedures or subqueries. Sorry, but people need these. There are certain (common) logical reports that are frequently generated that would often call for the use of a subquery but can't since it's only implemented in alpha, and who wants to put an alpha platform into production?!

      I'm not anti-MySQL, but man, they really have a long way to go and need to start improving these key items.

  60. You work with adservers.. by Anonymous Coward · · Score: 0

    ...and you're advertising hostip.info in your .sig. The paranoiac in me questions your motives. Any self-respecting web advertiser wants geo-targetted banners...

  61. Re:Speaking of Databases.... by Anonymous Coward · · Score: 0

    http://www.kx.com/

    A Simple search of google of "kdb database" gives this. They in their website referance the "S" languange as well as other information. Giving creedance to the other poster's information on S not K as the programing language.

  62. PowerGres by ClarkEvans · · Score: 1

    http://osb.sra.co.jp/PowerGres/introduction-en.php

  63. Re:Just when you thought it would never happen to by GenSolo · · Score: 1

    Damn! All these years, I've thought jokes were supposed to be humorous.

  64. Re:Speaking of Databases.... by bluethundr · · Score: 1
    ....90s at a few dotcom startups and it was presented to him as a way of interfacing with the kdb highspeed relational database.

    Well, thanks (sortof) for supporting my contention that "K is NOT S" (though now I'm curious what 'S' is, wish that guy had supplied a link), if you had clicked the link in my initial post, it would've taken you...well...here, smart guy! ;) And if you wanted to find out more about K you could've stripped out "product_info/high-performance-database-kdb-plus.h tm" from the URL and it would've taken you here.

    But, since I am at work and don't have time to read the entire site before I get home I'm hoping some nice poster (or even a nasty one! I'm not being picky) will chime in with some useful info on whether 'K' is
    • Procedural
    • Object Oriented
    • Aspect Oriented
    • or some programming style with which I am not yet acquainted
    --
    Quod scripsi, scripsi.
  65. Re:It also depends... by Ugot2BkidNme · · Score: 1

    I have to agree I have used the following databases on enterprise applications mySQL,MS SQL, Oracle, DB2, and Postgre.

    I have to say that I strongly Prefer Postgre over mySQL but I can work with both. On windows environment however you will see me using MS SQL 2000(with ADO.Net the applications are incredibly fast much faster then Oracle using a JDBC driver). I personally Hate Oracle I think its a waste of money and a Overpriced piece of bloated crap. Much like most people think about Windows.

    MySQL is a great product it just does not give me much insentive to use the product other then the price. Ease of use is just not there. Postgre is much easier for me to use. I can accomplish my goals with either database but I usually have a very limited time constraint to design an east to maintane database.

    I recommend to Anyone I know if they are building on a Linux Platform Postgre and Windows Platform I recomend MS SQL 2000.

  66. close but not quite by Anonymous Coward · · Score: 0

    "Structured English QUEry Language"

    http://portal.acm.org/citation.cfm?id=811515&jmp =r eferences&dl=GUIDE&dl=ACM

  67. K is a stack-based Forth-inspired language by Anonymous Coward · · Score: 0

    which is much harder to use than SQL.
    Now you know.

  68. Re:Windows - Knoppix? by Anonymous Coward · · Score: 0

    Maybe try a CDROM based Linux version?

  69. Drivers work with straight JDBC but... by Anonymous Coward · · Score: 0

    ...fail to work with WebSphere CMP :(

    1. Re:Drivers work with straight JDBC but... by Anonymous Coward · · Score: 0

      And since we all know how bug free web sphere's CMP package is, it just has to be pgsql's fault, huh?

  70. Re:history of postgresql by I8TheWorm · · Score: 1

    I understand your comment, but to me it's both a feature and a nuisance. Oracle, out of the box, seems to require an in depth knowledge that you shouldn't need just to get a small database rolling. In the past, they weren't concerned with small DB users, but that's a market they've decided they wanted to break into in the last couple of years.

    While MS SQL Server isn't the best option for VLDB's (although it's getting there), nor is Sybase anything, it (as well as DB2) doesn't just automate the table EXTENTS for you, but manages cleanup automatically. Oracle's filesystem, IMHO, was a mistake on their part. When you remove data from tables, the extents are still there. The other players in workstation/enterprise RDBMS's handle that for you automatically, and while Oracle allows for extents to be defaulted, there is no way to clean up the mess left behind a DELETE query.

    Oracle's standard practice for cleaning that up is to remove all of the data, wipe the DB, rebuild it, and copy the data back in. That's just preposterous if you ask me. And regarding defaulted EXTENTS, we had to default but the initial table size and extents to the same number (which was around 1MB because of the initial table size) to ensure not having to manually clean up the DB from time to time. So our 2GB database takes 7GB of space on the HD. Not a big deal, but it's still silly that we have to do that.

    --
    Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  71. Re:Speaking of Databases.... by Anonymous Coward · · Score: 0

    I stand corrected, K is not S or R. I just downloaded the demo version from here:

    http://www.kx.com/download/download.htm

    Strangely, the whole install comes in at only 308k. Suffice it to say that I can't imagine there being much in the way of statistical models in there.
    Kdb's niche is in handling huge amounts of time series data, such as every tick of every stock on an exchange. A regular db isn't designed for such frequent small updates, and also can't optimise tasks like correlation. What you really want to do to compute a correlation is step over two arrays in parallel. With a normal database, you'd have to fetch large chunks of data from each table and then running your calculation in main memory.

    Here's a good overview of array databases generally, as well as Splus and Kdb in particular:
    http://www.cs.nyu.edu/shasha/papers/jagtalk.html

    As far as I can tell, the thing K gets used for most is technical analysis, the strategy Malkiel criticizes but that remains popular. If you want to find all the cases where stock broke through its three-month high on a Friday after 4:00, Kdb is the way to go. Unfortunately, when I looked a few years ago, there didn't seem to be any way for a private individual to get historical intraday data in any volume except to log it yourself from a subscription quote service.

    Here's the Splus homepage, btw.

  72. Re:history of postgresql by I8TheWorm · · Score: 1

    Actually, this is in 8i, and admittedly, I have no experience with 9i or 10g (we'll never need the 10g power here, at least not in my careerspan). I posted a longer commentary here regarding the manual processing we have to do, and Oracle's recommended practice.

    --
    Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  73. plphp by matchboy · · Score: 2, Interesting

    PHP geeks, don't forget to check out plphp. You can create functions/triggers with php for PostgreSQL.

    --

    Robby Russell
    PLANET ARGON
    Robby on Rails
  74. I'd love to start using Postgres, but... by Anonymous Coward · · Score: 0

    ...everywhere I look, there are guides and how-to's on MySQL and php. I'd very much like to learn and use modPerl and Postgres, but I can't find books published in the past year (or two), I can't find how-to's, there isn't much documentation (other than the sites themselves), and the general lack of info is really holding me back.

    I fear I'm going to have to hold my nose and start learning MySQL (and possibly php), but I'd rather not.

    Why isn't/where is documentation/how-to's/guides on building databases and/or web sites using modPerl and Postgres?

    I have the Postgres book, and all the manuals from the Postgres site. Where can I/Can I get more info?

    Does MySQL have all the buzz because it's pushed by a for profit company? Is postgres similar to Debian and that's why it doesn't have the buzz that MySQL does? Mickey what's his face is always in the news, MySQL is always in the news, they are continually announcing partnerships with enterprise developers...

    ...postgres may have better SQL compatibility, but MySQL is being used in mission critical applications, and with the buzz, and the development behind it, and the enterprise support, postges users shouldn't hold their noses so high in the air when it comes to looking at MySQL. I see linux overtaking windows. This is because it has the developer momentum behind it. If you see this also, why don't you also see that MySQL has the momentum behind it as well?

    If Postgres doesn't make an effort to market itself better, at some point in the future, MySQL will surpass Postgres in every category simply because it has the momentum behind it. Just like the windows/linux battle.

    MySQL has documentation, guides, how-to's, and whatever else coming out the ears. If postgres wants to become more popular, its going to have to address this.

    Maybe postgres and its advocates want to keep newbies out?

  75. Bah! (grumble, grumble, grumble) by mark-t · · Score: 1

    Still no "WITH RECURSIVE" construct or even Oracle's version, "CONNECT BY, to allow for the quick selection from tables that represent graph-like or tree-like data.

    1. Re:Bah! (grumble, grumble, grumble) by Anonymous Coward · · Score: 1, Informative

      WITH RECURSIVE is under development, and we may have it for the next version.

      See contrib/tablefunc in your PostgreSQL source for an implementation of CONNECT BY as a Postgresql function. We've had this for a year.

      -Josh

  76. No native windows port is the killer... by mabhatter654 · · Score: 1
    MySql rules because it runs on both Linux and Windows. I makes it easy to have "a foot" in both worlds before you commit to full-blown Linux [or other OS] Sure, you can run Postgres on windows, but that means installing several other packages...The apache/MySql/PHP setup is usually pre-configured on most OSS distros, and the windows installers for the set work together now for nearly point-n-click.

    I happen to think that Postgres IS the technically better DB, but accessability is just as important [installers, admin tools, etc] to its preception and adoption. MySQL grows because it's "good enough", simple, and free...Postgres is just "better" & free.

    1. Re:No native windows port is the killer... by Anonymous Coward · · Score: 0

      check again, the beta versions included a windows port for Postgres as well (I haven't looked to double check that it's still in the release, but it should be)

    2. Re:No native windows port is the killer... by Sxooter · · Score: 1

      Nope, 7.4 doesn't have native Winders support. However, it's about 75% done right now, and should be in 7.5 next spring.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  77. Re:Rock on! You must be kidding by AdamInParadise · · Score: 1

    Is this some kind of a sick joke?

    Disclaimer: I use Postgresql and the JDBC driver everyday at work and at home. And I've actually read the source code. And I actually like it nevertheless.

    The JDBC drivers are clearly not the main focus of the PostgreSQL community. Here are a few nasties:
    -- Very very bad documentation. There is no way to known which features are implemented and which ones aren't.
    -- On the same line, the driver claims to be JDBC3 compliant, which is simply not true.
    -- When you post a request on the JDBC list, there is always some guy with a 3-month old patch that could solve your problems. It seems that very little development is actually happening.
    -- The driver is a pain to compile: You must compile Postgresql at the same time, otherwise it won't work.
    -- There is some kind of support for Postgresql distinctive features, but you must read (and fix) the code to make them work.
    -- SLOW! DOG SLOW! For example, there is no support for prepared statements (it's my understanding that Postgresql does not support those anyway)
    -- Some smaller weirdness, but well I guess that every package as those.

    Otherwise, I've never have an actual reliability problem with the driver. Once you have all the workarounds, it simply works.

    "Well go fix it then!". First, someone is already working on that, I guess he could use a little exposure (http://sourceforge.net/projects/jxdbcon/).
    Second, for my pet project (WKB4J , Boost your Java GIS now!), I just retrieve the raw results using a binary cursor and my queries are about 15 times faster. I agree that this is a particular case.

    David

    --
    Nobox: Only simple products.
  78. Re:It also depends... by afidel · · Score: 1

    DB2 in the same league as Foxpro, you have to be joking, right???? DB2 is the largest deployed enterprise database in the world. It's bigger than Oracle in all but a few markets (like SAP/Peoplesoft and a few other ERMS's). It's also scalable and reliable beyond anything else bar Terredata's data warehousing stuff. Gartner has shown DB2 growing since late 2000, mostly at the expense of Oracle, people are more and more finding that good old DB2 is just as capable at a fraction of the price. I don't mean to sound like a DB zelot, but lumping DB2 with Foxpro is just too much for me to handle =)

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  79. What about point in time recovery?! by Anonymous Coward · · Score: 0

    I'd love to use postgres but tell me, how can you run a database for any serious application without point in time recovery, which postgres does not support. How do people out there deal with this shortfall?

  80. Re:It also depends... by abirdman · · Score: 1

    I think he meant dBASE2, the long forgotten ancestor of Foxpro. In fact he probably meant db3, which was a mysql-like database-like PC application with built-in programming language and reasonably fast access using flat files and indexes.

    Otherwise, I agree with your post. I work in an Oracle shop, and though it's a great product to work with--gobs of support software and 3rd party support--it's pricing is ridiculous. And DB2 seems to be getting more interesting with cross-platform support and that huge IBM support behemoth behind it.

    --
    Everything I've ever learned the hard way was based on a statistically invalid sample.
  81. Mysql speed by vlad_petric · · Score: 2, Informative
    Your comment is implying that mysql is actually faster than postgresql. That's simply wrong.

    Yes, if you run simple queries in a single user scenario you do get better performance with mysql than with pg. With more complex queries and more users however, the simplistic query optimizer and concurrency manager that mysql has makes it perform worse than pg.

    --

    The Raven

  82. Re:Rock on! You must be kidding by Sxooter · · Score: 1

    FYI, Postgresql does support prepared queries.

    --

    --- It is not the things we do which we regret the most, but the things which we don't do.
  83. Re:history of postgresql by IANAAC · · Score: 1
    I can still use my Oracle 5 for DOS manuals while coding Oracle 9 for Linux!
    Coding, yes. Administration, no. The backend and data dictionary are VASTLY different from earlier versions.
  84. Let's branch PostgreSQL by Wolfier · · Score: 1

    I believe calling it "YourSQL" will make more developers aware of it...

    1. Re:Let's branch PostgreSQL by axxackall · · Score: 1

      You can be very close to true. Most of people after hearing or reading first time "PostgreSQL" cannot pronounce the name properly. The only exceptions I have observed are Russian programmers. Hmm... Maybe that's why so many russian names in PostgreSQL mail lists, huh? ;)

      --

      Less is more !
    2. Re:Let's branch PostgreSQL by smittyoneeach · · Score: 1

      Pig-squeal

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  85. PostgresQL is slow... by puppetman · · Score: 3, Insightful

    We are in the midst of moving our databases away from Oracle. There were three contenders: MySQL, Postgres, and Matisse (OODBMS).

    Speedwise, PosgreSQL trails the pack by a fair bit. Sometimes it would be comparible to Oracle, and other times it wouldn't be without a fair bit of tuning. Outer-joins, for example; the optimizer can't seem to make heads or tails of it.

    I spent two years lurking on the Postgres lists, and when doing performance testing, was asking for help tuning queries and the database in general; this isn't a statement made based on, "I tried it once, and it didn't work."

    The guys on the list (especially Tom Lane) were very helpful and polite, but I just couldn't get reasonable performance out of the database without doing some serious SQL-rewriting (our CTO thinks that relational databases require too much tweaking already; putting optimizer hints into the queries is just too much).

    Overall, the database is great - great feature set, great developers, and a good support community, but the optimizer is not efficient enough (search for the word optimizer in the PostgreSQL lists, and you'll find hundreds of posts where the optimizer is doing a sequential scan and ignoring indexes when it should be using those indexes).

    MySQL (4.0.16, using InnoDB tables) has foreign keys, transactions, etc. I haven't been able to crash it yet (I miswrote a query on purpose, and let it run over 2 days at 99% CPU, and the machine stayed up, and is still up a week later).

    MySQL doesn't have triggers or stored procs, but as a DBA and senior developer, I can honestly say that's a good thing.

    - if you modify a table that a trigger or stored proc uses, chances are the trigger and stored procedure are invalidated quietly behind the scenese - the database doesn't tell you until you call the stored procedure or execute a statement that causes the trigger to be executed.

    - debugging a stored procedure or trigger is not easy.

    - people tend to forget about triggers and stored procedures; they're hidden logic that can cause no end of problems.

    - triggers and stored procedures are (in most cases) database-dependant; they are a huge hinderance when moving to another database. We have 12,000 lines of Oracle stored procedures. I dislike them.

    - the database is for data storage. It's not for application develoment. Keep the business logic in the application, and the data-storage logic in the database. Oracle is trying to sell their RDMS as a development tool to justify the price. Don't believe the hype.

    PostgreSQL is trying to position themselves as an Oracle replacement, and thus have a similar feature set. PostgreSQL is also very good at very large databases (probably even more so than MySQL, at least until InnoDB gets multiple tablespaces in the next release).

    Databases with simple queries where results are not needed instantly would do well with PostgreSQL.

    1. Re:PostgresQL is slow... by chriskl · · Score: 2, Informative

      This is just not true. If you were unwilling or unable to tune your DBMS, you can hardly go blaming PostgreSQL!

      All you need to do is reduce your random_page_cost a bit, set your effective_cache to an appropriate value and bob's your uncle.

      PostgreSQL can do optimisations that MySQL can only dream of. The reasons most of those posts are complaining about the optimiser is, let's face it, the users in question don't know about indexes. Another whole lot of them are about the slowness of IN () queries - which is now hundreds of times faster in PostgreSQL 7.4.

      The deal with outer joins in PostgreSQL is that they are executed in the order you specify in your query. This means that you simply just have to have a couple of tries with it to make sure you haven't written a totally degenerate query.

      There is discussion on allowing the optimiser to re-arrange outer joins, however it is a rather difficult problem theoretically to be able to prove that a certain rearrangement will still be an equivalent query.

      Chris

    2. Re:PostgresQL is slow... by Anonymous Coward · · Score: 0

      We were in the same situation as yours - migrating an oracle app to an alternative ( cheaper ) platform.
      Two strategies help
      1) think database as a datastore
      2) Use SapDB - SapDB has a mode called Oracle Mode( which is compatible with Oracle 7.3 - hence all the functions ( date functions, string functions, sequences.nextval(), currval() and others ) all work.

    3. Re:PostgresQL is slow... by puppetman · · Score: 1

      This is just not true. If you were unwilling or unable to tune your DBMS, you can hardly go blaming PostgreSQL!

      As I said,

      "I spent two years lurking on the Postgres lists, and when doing performance testing, was asking for help tuning queries and the database in general; this isn't a statement made based on, "I tried it once, and it didn't work.""

      I tuned all those variables based on documentation and suggestions on the list.

      As for users not knowing about indexes, most problems with the optimizer were, "Why isn't PostgreSQL using this index?" Sometimes it was a user mistake, but other times the query had to be rewritten and the optimizer told to ignore it because it was de-optmizing it instead.

      I ran a complex query in MySQL with about 8 outer joins using the same dataset that Oracle had (and the outer joins were in a different order than in Oracle) and it managed to produce exactly the same result set.

      I spent a week reading the PostgreSQL manual and various pages on tuning, and asking questions on the list; I was able to tune MySQL using the MySQL manual and a few other web pages in a few hours. If PostgreSQL is so easy to tune, then the problem might be one of information-distribution, but I can honestly say that PostgreSQL was not performing well on our data and queries, and I spent an order of magnitude more time trying to tune it.

    4. Re:PostgresQL is slow... by Anonymous Coward · · Score: 0

      Amen to comments on triggers and stored procedures.

      What I like in mySQL is simplicity. You can always switch db-backend without altering the application.

    5. Re:PostgresQL is slow... by Anonymous Coward · · Score: 0

      But InnoDB is the only backend worth considering. BDB lacks foreign keys, is slower, and isn't quite out of testing, and all of the others are completely broken (no transactions).

    6. Re:PostgresQL is slow... by mijp · · Score: 2, Informative

      Speedwise, PosgreSQL trails the pack by a fair bit. Sometimes it would be comparible to Oracle, and other times it wouldn't be without a fair bit of tuning. Outer-joins, for example; the optimizer can't seem to make heads or tails of it.

      The 7.4 release is much better on explicit join optimization (the formerly behavior of using explicit joins as optimizer hints has been disabled by default). So using outer-joins should be improved. PostgreSQL is advancing.

    7. Re:PostgresQL is slow... by puppetman · · Score: 1

      I agree.

      Also, if you need a full featured database, and are willing to either tune or put up with a few slow queries, it is an amazing free database that can compete with Oracle.

      Replication was open-sourced a few months back, adding one more enterprise feature (though MySQL replication has been around longer, and is apparently very good in the 4.0.x tree).

    8. Re:PostgresQL is slow... by GooberToo · · Score: 1

      Speedwise, PosgreSQL trails the pack by a fair bit. Sometimes it would be comparible to Oracle, and other times it wouldn't be without a fair bit of tuning. Outer-joins, for example; the optimizer can't seem to make heads or tails of it.

      If performance is lacking that much, I would guess that it means you have some SQL that needs to be rewritten or made more "postgresql-ized". The optimizer makes some assumptions here and there and without changing SQL to what PostgreSQL likes, it can make bad plans. Any engine can. Having said that, any time you port SQL to another engine, you're going to have to expect to make SQL changes. Comparing optimized SQL on one platform with unoptimized results on another is rediculas. Which is, needless to say, pretty much what you're spelling out here in your results.

      [...]but I just couldn't get reasonable performance out of the database without doing some serious SQL-rewriting

      Understood. Some RDBMS actually have their optimizer rewrite queries, giving you the impression that it's good SQL when it should really be expressed in some other form. In other words, you'll probably have to change the query a little bit to optimize it for PostgreSQL.

      putting optimizer hints into the queries is just too much

      That's a good thing, considering, PostgreSQL doesn't support hints, nor do they plan to.

      search for the word optimizer in the PostgreSQL lists, and you'll find hundreds of posts where the optimizer is doing a sequential scan and ignoring indexes when it should be using those indexes

      In the vast, vast majority of these cases, it's because people cast something to a differing type than what is indexed and rightly so, the optimizer ignores it. Generally speaking, simply changing to the proper or more sane cast corrects this issue. After doing so, performance generally rocks.

      Databases with simple queries where results are not needed instantly would do well with PostgreSQL.

      Actual real-world results and very, very large databases disagree with your assessment. MySQL's optimizer is pethetic. As bad as you seem to dislike PostgreSQL's, it's lightyears ahead of MySQL's, especially for complex queries.

      if you modify a table that a trigger or stored proc uses, chances are the trigger and stored procedure are invalidated quietly behind the scenese - the database doesn't tell you until you call the stored procedure or execute a statement that causes the trigger to be executed.

      This is called, knowing your dependencies and bothering to test before it goes into production.

      debugging a stored procedure or trigger is not easy.

      Actually, stored procedures tend to be fairly easy to debug if you approach them correctly. Triggers, on the other hand, can be somewhat tricky. Then again, triggers should always be used sparingly.

      people tend to forget about triggers and stored procedures; they're hidden logic that can cause no end of problems.

      Sounds like serious abuse/misuse of the facilities. Used correctly, they are mana from heaven. It's a great place to enforce business rules and centralize common business logic. Done properly, they will save tons in application code, debugging and ease applicatoin migration issues. Of course, the problem comes when you need to migrate to another database.

      triggers and stored procedures are (in most cases) database-dependant; they are a huge hinderance when moving to another database. We have 12,000 lines of Oracle stored procedures. I dislike them.

      Yes, they are pretty much a vendor lock-in. That being said, how often are you changing database backends? Compared to how often clients tend to change, it's usually more than a fair trade.

      the database is for data storage. It's not for application develoment. Keep the business logic in the application, and the data-storage logic in the database. Oracle is trying to sell their RDMS as a deve

    9. Re:PostgresQL is slow... by GooberToo · · Score: 1

      Again, someone gets it!

      Good for you!

      I tip my hat!

    10. Re:PostgresQL is slow... by Anonymous Coward · · Score: 0

      - if you modify a table that a trigger or stored proc uses, chances are the trigger and stored procedure are invalidated quietly behind the scenese - the database doesn't tell you until you call the stored procedure or execute a statement that causes the trigger to be executed.

      wait, wait, wait, you're making arbitrary modifications to your schema, knowing full well that there are triggers that depend on that schema, and then you're surprised when it breaks? do you not test it before you deploy it? are you REALLY a "DBA and senior developer" ? How can you be both at the same time and remain an effective member of the development team?

      - people tend to forget about triggers and stored procedures; they're hidden logic that can cause no end of problems.

      Do you document these parts of your business logic? Or is everyone flying by the seat of their pants?

      - triggers and stored procedures are (in most cases) database-dependant; they are a huge hinderance when moving to another database. We have 12,000 lines of Oracle stored procedures. I dislike them.

      PL/pgSQL does a pretty good job at being compatible with PL/SQL. What exactly are you gonna do with those 12,000 lines of PL/SQL if you move to MySQL? Move them to user space... and then what if some other app or system needs to be integrated into the database... Oh, then you get to duplicate that logic again... Good luck keeping it in sync. There IS a reason that triggers and stored procedures are so widely used ... if you haven't figured that out, then you can't rightly call yourself a DBA at all.

  86. post-gray squirrel vs. my squeal by Anonymous Coward · · Score: 0

    post-gray squirrel vs. my squeal

  87. MaxDB, ShmaxDB by Anonymous Coward · · Score: 0

    Yeah, a bunch of legacy slop-code dumped by a company that didn't know what do with it. So the MySQL boys will be "incorporating" SAP DB functionality into MySQL? That sounds like a multi-year rewrite, campers. Don't hold your breath waiting for a migration kit or interoperability.

    They could have saved themselves the time and expense and gone and bought a database concepts book for $50 instead.

  88. Any improvements in stored procedures? by kpharmer · · Score: 1

    Can you easily return result sets from stored procedures with this release?

    Also, anyone know if the python stored procedures are more native or still just external programs?

  89. Unbelievable... by Anonymous Coward · · Score: 0

    Re-read the post you're replying to.

    What it actually does is change the table definition

    You're not winning any points here.

  90. I must comment on this... by Anonymous Coward · · Score: 0
    Or actually, ask a question...

    Should I have used PostgreSQL?

    I have set up a box at work running Redhat 9, Apache, MySQL and PHP. MySQL has proven to work excellently, particularily with Dreamweaver. My problem is that soon in the future, I am going to need transactions that will need triggers and proper database integrity.

    The only reason I choose MySQL was this. phpMyAdmin has proven to be the best web-based tool I have ever used for any Unix database system.

    I started using PostgreSQL, really I did, but I kept running into problems of things just not working. (I even tried pgMyAdmin, but it just wasn't the same).

    It came down to MySQL was more popular and I found it easier to use. I am very busy and don't have a lot of time to spend training myself on the database side of things, but I'd be willing to give PostgreSQL a second chance if I knew it would have some must-have features.

    SO... is MySQL good enough for databases in the 500MB and 1000 transactions/day range? Are there any must-have features for PostgreSQL that I should change my mind?

    I'm SURE there are other people with this same question... anyone have experience with both want to comment?

    1. Re:I must comment on this... by Anonymous Coward · · Score: 0

      MySQL 4 with InnoDB tables seems to finally be a reasonable choice. Avoid MyISAM tables--you can't do an atomic select and update without manually locking every table using nonconforming syntax.

  91. Re:history of postgresql by Anonymous Coward · · Score: 0

    Didn't a Japanese hardware company fund Ellison early on?

  92. on the other hand by kpharmer · · Score: 2, Interesting

    Might not always be the fastest...but I can't imagine developing a database application - and putting all the join code in the app - that could instead be a subselect, inline view, etc.

    I'm not a huge fan of triggers - but often find circumstances in which their careful application has saved a huge number of hours.

    Stored procedures are another example of a technology that when used wisely can result in a huge improvements to flexibility and adaptability. My favorite use of them is when on a fast-moving project - I can have the developers create an object model and almost immediately start developing to it. My first task is to knock out a set of stubbed stored procedure (or sometimes views) that map to that object model. Often within a week they've got a fully working application (with a fake backend) to continue testing and tweaking. Then I can take my time mapping the object model / stored procedures to a relational model - perhaps using some advanced features that would have been time-consuming to build and test. The net result is drastic reduction in development time, complete dba-control over all queries, and the ability to change the model occasionally (as performance or whatever demands) without any impact to the developers.

    The concern that stored procedures aren't portable isn't completely valid either. Stored procs shoudn't be complex - simple ones can be easily ported between most databases.

    Views, unions, and subselects are other sql capabilities that the mysql-ab team has frequently referred to as being only useful to 1% of the applications out there. And unlike the triggers and stored procs described above - I'd consider these core database capabilities.

    1. Re:on the other hand by GooberToo · · Score: 1

      Agreed! Someone gets it!

      Good for you!

  93. Email addresses? by Mustang+Matt · · Score: 1

    You have that many email addresses?
    WOW!

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  94. Re:Rock on! You must be kidding by Earlybird · · Score: 1

    I use explicit cursor fetch statements myself, but how do you use binary cursors? When I tried that (from Java, with PostgreSQL 7.3 and the standard 7.3 driver in Debain), I got errors -- stream errors, if I remember correctly.

  95. Aggregates still broken by jdoeii · · Score: 1

    Anyone who needs to use COUNT() is completely out of luck. Can't use PgSQL. This problem has not been fixed in the latest release:


    From http://www.postgresql.org/docs/7.4/static/function s-aggregate.html
    Users accustomed to working with other SQL database management systems may be surprised by the performance characteristics of certain aggregate functions in PostgreSQL when the aggregate is applied to the entire table (in other words, no WHERE clause is specified). In particular, a query like

    SELECT min(col) FROM sometable;

    will be executed by PostgreSQL using a sequential scan of the entire table.


    Meaning horrendously slow for large tables. "Replication", "Enterprise features" when basic stuff like this is broken. This is a shame

  96. Postgres/MySQL + OLAP? by shameless_sellout · · Score: 1

    Is there any open source/free OLAP software out there that I can use with Postgres or MySQL? I'm a student and can't afford to shell out big bucks for proprietary OLAP.

    1. Re:Postgres/MySQL + OLAP? by jjustice · · Score: 1

      You can go to technet.oracle.com and download all the Oracle software you want and use it all you like, as long as you don't go commercial/production with it. The full versions of all their software are freely available for developers/students to experiment with or learn on.

      This doesn't answer your question about PostgreSQL or mySQL, but if your main interest is learning to use OLAP and not specifically with those databases, then the Oracle stuff might be a good resource.

    2. Re:Postgres/MySQL + OLAP? by BogoMips · · Score: 1


      Yes, there is. I haven't quite tried it, but I'm about to. It's called

      Mondrian OLAP: Mondrian is an OLAP (online analytical processing) database written in Java. It implements the MDX language, and the XML for Analysis and JOLAP specifications. It reads from SQL and other data sources, and aggregates data in a memory cache.

      Don't worry if its home page is usually down. The full home page hierarchy is included in the documentation.

      To complement Mondrian OLAP functionality there is another very useful project:

      JPivot (project page) : JPivot is a JSP custom tag library that renders an OLAP table and let users perform typical OLAP navigations like drill down, slice and dice. It uses Mondrian as its OLAP Server.

  97. There is no such thing as a DBMS called "Postgre"! by __past__ · · Score: 1
    Off topic rant: It is not called "Postgre". If you really cannot afford to type its full name, it is "Postgres", as it was called before it got SQL support (with "Postgres95" as a short intermezzo, which proved to be a silly name around 1996), a name chosen because it is a successor of INGRES.

    See also A Brief History of PostgreSQL

  98. SCOracle? by Dwonis · · Score: 1

    I'm not sure if I want to use PostgreSQL. I'm afraid SCOracle will start claiming that it infringes on their copyrights.

  99. How about PostgreSQL for Windows? by axxackall · · Score: 1

    What's wrong to use PostgreSQL on Windows? I know few projects (including web-sites in production) successfully using PostgreSQL (under Cygwin) on Windows accessible through ODBC and JDBC. The have made performance evaluation tests (comparing PostgreSQL/Cygwin vs MS SQL 2000) before finalizing their decision and haven't find any significant performance advantage of MS SQL.

    --

    Less is more !
  100. Hot / cold cache by kuhneng · · Score: 1

    One good reason you might want the database to have some say in the caching is to prevent cache pollution.

    Oracle, for example, implements a split cache with hot and cold halves. Small reads get added to the head cache, while major reads (such as full table / index scans over a certain threshold) are added half way down the LRU stack in the "cold" half.

    The idea here is that full scan type activity is less likely to provide cache hits on future queries. Also- full scan blocks come at a much lower cost per block than single, random access blocks, and therefore represent a lower value / storage ratio.

    This is the kind of guess that's difficult for an operating system to make.

  101. Minor addition to your comments... by GooberToo · · Score: 1

    Neither PosgreSQL or mySQL are full, complete, and utterly perfect implemtations of a database. Neither is Oracle, BTW.

    I completely agree!

    Back then, mySQL couldn't be beat for handling read-only

    Actually, at the time, most real benchmarks proved that to be false. MySQL and several others performed some benchmarks, using the current version of MySQL and outdated versions of PostgreSQL. Futhermore, most tests were a single query against a database. The result, MySQL was wicked fast. This was done because most web guys didn't know anything about DB's and so they did what they thought was a good test. They tested what they knew. The tested a single query with a single user and it was, indeed fast. In fact, faster than PostgreSQL. The problem was, few people tested concurrent access (typical of web sites). Those that did found that the speed advantage of MySQL very quickly disappeared and PostgreSQL shinned wonderfully. To date, MySQL's performance myths still persist. The simple fact is, MySQL has never been a performing beast, as most people think. Simple fact is, even all those years ago, PostgreSQL almost always out performs and out scales MySQL at all but the most basic of SQL tasks. And so, it became lore that MySQL is wicked fast and that PostgreSQL is wicked slow, but feature rich.

    Since those days, PostgreSQL has gotten much, much faster and now scales much, much better. MySQL, I believe has worked some on it's scalability, however, the last thing I saw, it's still far behind PostgreSQL for all but the most basic of SQL tasks.

    That basis of comparison is no longer true.

    The generally available comparisions were never true. Generally speaking, everything that MySQL ever put into print on benchmarks were lies or willful efforts to mislead and misrepresent the truth. Simple fact is, MySQL did everything they could to prevent being compared toe to toe with a modern PostgreSQL. It doesn't take a rocket scientist to figure out why that might be.

    Day 1 you have a need, day 2 you actually research available solutions, and day 3 you declare a "winner" and it is forevermore cast in stone as the "one true solution". The fact masses of people tend to go thorugh the same process at basically the same time doesn't help. Thus the broad noise that mySQL is "the Answer(tm)".

    Couldn't agree more. Worse, more often then not, the people picking the RDMBS solution are completely unqualified to make such a solution. Then, the legacy "winner" finds its self as the solution over and over again.

    Anyway, postreSQL has always sought to compete in the full function space. Oracle was/is a much better "comparison" to postgreSQL than mySQL.

    Absolutely correct!

    Bottom line, if you invested in learning and implementing mySQL, and it is still working for you, then there is absolurely no need to be concerned with postgreSQL yet.

    I'm not sure I buy 100% into that statement. Just the same, I think it rings true enough. I generally tell people, if you wouldn't use an Access DB for your solution, then you shouldn't use MySQL. The funny thing is, Access actually has a richer set of features than even MySQL does. I think the Access comparision comment still holds true today.

    Yes, evaluate both, but don't assume mySQL or postgreSQL is "better" based on what you hear.

    I strongly believe in "best tool for the job". As such, it is true that PostgreSQL may not be the best tool. Even the PostgreSQL developers will tell you that. Just the same, I often find that MySQL is rarely the best tool for the job. That's not to say that it's not a good SQL introduction and *maybe* as a learning tool, it might have value. The maybe is there because if you use it as a learning tool, it's going to teach you a lot of bad habits.

  102. Re:It also depends... by cayenne8 · · Score: 1
    Yup...my bad. I did mean dbase2....just having a 'senior' moment.

    Yeah...I think Oracle IS starting to price themselves out of a lot of markets. I'd love to learn some DB2....but, how? Where?

    --
    Light travels faster than sound. This is why some people appear bright until you hear them speak.........
  103. not broken by kpharmer · · Score: 2, Interesting

    > Anyone who needs to use COUNT() is completely out
    of luck. Can't use PgSQL. This problem has not been
    > fixed in the latest release:

    why would you be doing count(*) on *huge* tables without a where clause anyway? I mean, sure - I run queries like that all the time - in adhocs, where a scan of 100+ million rows might take 10-30 seconds.

    But I can't think of the last time I've built an application and needed to do count(*):
    - without a where clause
    - on a huge table
    - and needed fast response time.

    Also note that most databases don't seem to store the min/max values for non-index columns to speed up this situation. Informix does, IIRC, but I don't think that Oracle does.

    So yeah, it would be nice if this was improved, but really - I use this functionality all the time, and am completely unaffected by this issue.

  104. Re:Rock on! You must be kidding by AdamInParadise · · Score: 1

    Well, your best bet is to read the source code of my project, it's in one of the classes. Otherwise, they must be used in a transaction and I think that Postgresql supports only one binary cursor at the same time.

    David

    --
    Nobox: Only simple products.
  105. workarounds... by Lazy+Jones · · Score: 1
    for some aggregates (min/max) there is also an easy workaround, when you have an index on the column:

    select column from table order by column asc (desc) limit 1;

    --
    "I love my job, but I hate talking to people like you" (Freddie Mercury)
  106. The lack of response to your post by Anonymous Coward · · Score: 0

    is indicative of the problem with Postgres. I'd say that if you were asking questions about MySQL, you'd have a ton of answers and links. This is the same problem newbies experience on linux distribution mailing lists looking for help. Linux is great. Linux is ready for the desktop. Linux is ready for mainstream. Just don't ask any questions without becoming a developer first.

    If you had mentioned that you were an Access user, they probably would have hacked slashdot to get your ip address, and come looking for you.

  107. Mod parent up! by Dan+Ost · · Score: 1

    I never have mod points when I need 'em. If parent doesn't deserve
    +1 informative, I don't know what does.

    --

    *sigh* back to work...
  108. no db abstraction? by Anonymous Coward · · Score: 0

    you mean the database calls aren't abstracted in either piece of software?? i would think you could just switch a flag to change databases, if you coded it right. i've coded a db abstraction object in php before, but wonder if the SQL is similiar enough to completely facilitate this. easiest to tell which database is fastest if you can change them on the fly ;)

  109. Re:history of postgresql by ChannelX · · Score: 1

    Might not need the grid stuff in 10g but they always add stuff that is handy for lots of other things.

    That being said I read your other posting. I know (and was aggravated by in the past) the goofy space management issues with Oracle but if you delete records that space becomes available for more data. Sure it's not reclaimed by the OS but it's not like you delete data and can never use that space again.

    --
    My blog: http://jkratz.dyndns.org/~jason/blog/
  110. Re:history of postgresql by I8TheWorm · · Score: 1

    That's true, and we did find a workaround. The workaround was to set up initial tablespace at 1MB and EXTENTS at the same size. Fragmentation never occurs now. We take up extra drive space, but space is cheap (same arguement folks make about taking too many clocks in code.. Moore's law will fix that for you, yada yada).

    I don't want to sound like an M$ zealot, but SQL Server handles all of this seamlessly. I have a very hard time imagining why folks use Oracle over SQL Server, other than the ability to run it on UNIX boxes.

    --
    Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  111. Re:history of postgresql by ChannelX · · Score: 1

    Because Oracle offers a huge featureset above and beyond what SQL Server offers and runs very well on NT ;) It also costs a hell of a lot more (well...can cost more as you can get lower spec versions of the main db product). Really....with locally-managed tablespaces (available for most tablespace types in 8i R3 (8.1.7) and all AFAIK in 9i) you don't have to worry about this stuff anymore.

    --
    My blog: http://jkratz.dyndns.org/~jason/blog/
  112. Re:history of postgresql by I8TheWorm · · Score: 1

    8i R3 (8.1.7)

    Maybe that's the problem.. I think our DB's are on 8.0, though I have to admit since I don't have DBA privelages, I haven't paid that much attention to which release.

    I wonder, though, about this comment...

    Oracle offers a huge featureset above and beyond what SQL Server offers

    Got any examples? I haven't seen anything that I can't do with SQL Server other than the nice exception handling in PL/SQL (although being able to do a SELECT TOP 1 query like t-SQL would be nice).

    --
    Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  113. Re:history of postgresql by ChannelX · · Score: 1

    Look at the 9iR2 docs on otn.oracle.com (dunno if this requires registration but its free). Look at the new features of 10g database.

    Oracle has made huge changes since 8.0x. I started being a DBA on release 8.0.5 but that was over 4 years ago. Its almost a completely different database these days and to be honest, especially on 9iR2 which is what we're using now, I don't have to do much.

    --
    My blog: http://jkratz.dyndns.org/~jason/blog/