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."
Does anyone even use mySQL when they have features like this? The only issue I have ever had with this DB was when I was trying to connect a .net app to it and it took me a while to find a workaround.
Hold up, wait a minute, let me put some pimpin in it
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.
Can I do a cross database join yet? To date this has still been a feature that has yet to be implemented that I can do in just about every other RDBMS.
This is my sig. There are many like it but this one is mine.
Not one of these features is remotely compelling enough to switch an existing, working app from MySQL.
So what? There's *lots* of places where software X is much better than software Y but the cost of migration is higher than the cost of doing nothing.
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?
Very impressive. Thanks PosgreSQL developers.
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.
What I'd like to say is:
Access is to Microsoft's Jet Engine while {name it>} is to PostgreSQL. By the way I would like an Open Source implementation.
Unfortunately, my employer is hell-bent on using SQL Server. What's worse, they're hell-bent on not spending any money, which leaves us with a SQL 2000 database running on a server that was "just okay" in 2002 serving ~100 users running CPU intensive reports and performing a few hundred thousand transactions a day..
In the next version the name PostgreSQL is going to be changed to the easier to say XquLck#7SQL
" .... This should help users migrating from MySQL. ... "
Because we know they are sure to be coming in droves whether they know it or not. :)
Is there a significant performance difference between WITH RECURSIVE and a recursive function?
Wow the features seem pretty good, but still lacks a couple of things:
- In place migration tool is still in beta, to be real competitive you need to have a fast in place migration tool (pg_dump for anything over 50GB takes forever)
- Online replication. Now you mostly have offline filesystem based replication
ANyway great job guys, also the window functions are pretty awesome,
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?
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.
Are you adequate?
...slashdot!
This unique sig is intended to make this user more recognisable.
SQLite on the low end, Postgres for mid-range apps, and Oracle on the high end.
Where is the niche for MS SQL and MySQL in this picture?
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
One phrase: repeatable SQL. .. ON DUPLICATE KEY,
INSERT IGNORE,
INSERT
ALTER IGNORE TABLE,
etc.
I searched for these features in Postgress, but could not find any of them. Without the means of making SQL repeatable, a database is completely useless to me.
Off course the fact that such probably must be done with programming on the database server (what could possibly go wrong?) makes it even worse.
There are two versions of this argument:
I can buy the argument in case (1), but not in case (2). In particular, when people say that MySQL works "well enough" for what they need, I simply do not believe them. They are simply not counting the amount of time they've wasted on data integrity issues over the years, because they just don't know better that with a superior RDBMS, those problems could be solved from day one.
Are you adequate?
I think the addition of convenient bulk loading tools could be a game changer for potential enterprise users, or anyone loading high volumes of data.
There is no off postion on the genius switch. - David Letterman
I have what has become a fair-sized database program that I wrote in a version of Basic several years ago. There were good reasons for doing it that way at the time, mostly related to cross-platform requirements, available hardware and a limited set of options at the time, all of which have since become pretty much irrelevant as the years went by. However, the program keeps cranking and has grown and been expanded and added to (by me) into what now amounts to a "management suite" for the business that I wrote it for.
More and more lately, I've been thinking that while this Rube Goldberg contraption is currently working fine, it might be smart to move it onto a real database. So I'm thinking about rewriting the whole thing over the course of time, and the little that I know about Postgresql makes it seem to be just exactly the tool for the job. The whole business runs on Centos Linux now, anyway.
Accordingly, I guess I should get started learning Postgresql. I've been writing programs for 30 years but the only real database I have ever worked with before was dBase and I haven't touched that for years either. Accordingly, I would appreciate recommendations for relevant books, websites, tutorials, whatever.
If you're a zombie and you know it, bite your friend!
I really love using postgres over sqlserver or oracle WHERE possible,
but the lack of real (RAC - LIKE) clustering for postgres makes this difficult...
and by clustering I don't mean replication... I mean multiple active nodes (N+1) serving the same databases
Here's one with the people with mod points today: "You Boobs".
I use PostgreSQL daily and I love it. The window functions are an enormous boon! It's still the best.
We need some distribution happening a la Netezza, Greenplum, etc:
Anyone know better?
Rekall seems like it was an interesting project but it is either dead or very sick. Its a pity because a decent cross platform RAD database tool seems to be sorely lacking, particularly for small business use.
Perhaps when Kexi is released as part of Koffice 2.1 it will fill provide an alternative to MS Access or at least be an improvement on OO base.
postgres=# select count(*) from enhancements;
count
-------
293
(1 row)