Slashdot Mirror


PostgreSQL 8.4 Out

TheFuzzy writes "PostgreSQL version 8.4 is now out and available for download. The main cool features in this version are: recursive queries (for doing trees etc.), windowing functions (for doing reports) column-level permissions, parallel database restore, a beta in-place upgrade tool, and a host of administrative improvements. And, of course, better performance, mainly on reporting queries. Some of the over 200 new or enhanced features are listed here."

8 of 191 comments (clear)

  1. And more... by jadavis · · Score: 4, Informative

    Upgrade in place is done via pg_migrator.

    VACUUM now makes use of a "visibility map", which means that it doesn't need to process old data each time VACUUM is run. If you run VACUUM on a large table, and then immediately run it again, the second run will be instant.

    The recursive queries are the SQL standard common table expressions, that is, WITH and WITH RECURSIVE.

    The window functions is a great addition, but with PostgreSQL it's even better because you can define your own custom window functions with CREATE FUNCTION.

    There are also a huge number of little improvements, like "auto explain" which is a module that can automatically log the "EXPLAIN ANALYZE" output when a query takes a long time. This is a great convenience for DBAs, because you don't have to look at long-running queries in the log and attempt to EXPLAIN ANALYZE them manually.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  2. Re:So why by Anonymous Coward · · Score: 5, Informative

    No, the replication and hot standby patches were not considered of high enough quality to be a part of 8.4. They will be a high priority during development of 8.5.

    PostgreSQL would never, ever ship something which has a WTF-list as long as MySQL's replication does: http://dev.mysql.com/doc/refman/5.0/en/replication-features.html

  3. Oh, hallelujah! by Just+Some+Guy · · Score: 3, Informative

    Deadlocked Query Display
    No more log detective work to track down which operations deadlocked; the information is right there.

    That alone is worth the upgrade to me. Currently, if you have two deadlocked transactions, it's a pain in the neck to figure out exactly which ones are involved.

    --
    Dewey, what part of this looks like authorities should be involved?
  4. Windowing Functions by ProfFalcon · · Score: 3, Informative

    OK, the windowing functions are exactly what I was waiting for. RANK and DENSE_RANK are phenomenal.

    See the presentation by Hitoshi Harada here: PDF Presentation

    --
    Simply stating [Citation Needed] does not automatically make you insightful or brilliant.
  5. Re:cross database joins?? by Anonymous Coward · · Score: 5, Informative

    If you're coming from MySQL: What MySQL calls "databases" are called "schemas" in PostgreSQL. MySQL has no equivalent of PostgreSQL's "database".

    There is also db-link and dbi-link.

  6. Parent is correct by Just+Some+Guy · · Score: 4, Informative
    I don't know why that got modded troll because it's essentially true. A PostgreSQL database is subdivided into schemas, each schema being much like an entire MySQL database. If you have a database named "mycompany" with schemas "financial" and "hr", you could have something like

    select
    employee.name,
    budgetitems.lineitemamount
    from
    hr.employee,
    financial.budgetitems
    where
    employee.paylevelid = budgetitems.lineitemid

    You can have multiple schemas with the same table names and disambiguate them by referring to schema.table instead of just table. In other words, they're like MySQL databases, and some mod owes the parent an apology.

    --
    Dewey, what part of this looks like authorities should be involved?
  7. Um... by Estanislao+Mart�nez · · Score: 1, Informative

    SQL Server has always been a decent database. Going to PostgreSQL would probably be a downgrade. Though if I have to say one thing, it would be this: SQL Server 2005 is a lot better in my experience than 2000.

  8. Re:So why by Sxooter · · Score: 2, Informative

    MySQL definitely supports foreign keys. Just make sure you're not accidentally using a myisam table, and don't use column level reference defs, cause both will result in a silent ignoring of what you asked it to do.

    Wish there was a way to tell it to only use certain table types and throw errors when things go wrong though.

    --

    --- It is not the things we do which we regret the most, but the things which we don't do.