PostgreSQL 8.0 Enters Beta
gavinroy writes "As announced in pgsql-announce, PostgreSQL 8.0 Beta is now available. New features include native win32 support, Point in Time Recovery, Tablespaces, and much more! here is the beta history if you want more information."
do they have a 64bit version?
...and jump right to the beta announcement message.
The Army reading list
http://developer.postgresql.org/beta.php
the windows installer is at
http://pgfoundry.org/projects/pginstaller
http://bt.postgresql.org
why don't you tell us what the issues are instead vague statement with no real substance?
PHP is the solution of choice for relaying mysql errors to web users.
http://bt.postgresql.org
:)
Join the torrent!
What part of "A well regulated militia" do you not understand?
this one doesn't even know enough about postgresql to write a decent troll. mod down, please.
it is the most advanced Open Source database there is. If anything pissed you off with MySQL chances are Postgresql will have a solution for you.
Die IT theme.
I remember reading a document somewhere for mysql that explains what each part of a version number "really meant". The major version number meant that the format of the databases will change (or could change). Is this also the case for postgres I wonder?
On the other hand, I've seen both Oracle and DB2 corrupt indexes and database table data in various circumstances (Usually the failing of a DBA in some capacity or other.) I'd be curious to see how the various databases stack up against each other without the hype that most of the parties that publish such studies usually bring to the table.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
(MySQL|MSSQL|Oracle|DB2) is (cheaper|better|faster|ACID-compliant|'1337) and Postgres is (slower|buggier|missing features|has broken features|sucky)!!!
I want to delete my account but Slashdot doesn't allow it.
Yeah (what they said) and comparing dBase to
Postgres is like comparing a Toyota full of
muslims to an M1 Abrhams..
Is there a database (more heavyweight than SQLite) that allows you to specify where in the file system it keeps it's records?
Has any project ever built a IOSLAVE/VFS/LUFS filesystem bridge to a relational database?
I think this was a major stumbling block for postgreSQL's adoption. I'd love to use it here at work for some small projects but unfortunately were getting more and more windows servers. PITR recovery is a must for any production database these days. Maybe there are some 3rd party packages but I don't think mysql supports this yet. This is great news and I hope it spurs a new round of adoption for pgsql!
"Thanks to the remote control I have the attention span of a gerbil."
You have a couple of full text indexing options with postgres, just go into the contrib directory and install one. Wow, that was tough.
Apologies to Ziff-Davis...
... to go from Beta -> Release, we need as many people out there to put it through her paces as possible, on as many platforms as possible. We urge anyone, and everyone, to download a copy and run her through her regression tests, and report any/all problems, and bugs, to
...
From: "Marc G. Fournier"
To: pgsql-announce ( at ) postgresql ( dot ) org
Subject: PostgreSQL 8.0.0 Officially Goes Beta
Date: Mon, 9 Aug 2004 21:36:52 -0300 (ADT)
After almost 9 months of development, the PostgreSQL Global Development Group is proud to announce that development on PostgreSQL 8.0.0 has now finished, and is ready for some serious testing.
For those wondering about the 8.0.0 designation on this release, there have been several *very* large features included in this release that we felt warranted the jump. As with all of our releases, we aim to have this one as rock solid as possible, but *at least* one of the features added to this release involved such changes that may warrant a bit extra testing post-release before deploying it in production.
Although the list of new features in 8.0.0 is extensive, with both SMB (Win32 Native Support) and Enterprise (Nested Transactions and Point in Time Recory) features being added, there is one thing that hasn't been included as part of the core distribution, and that is a Windows Installer, which can be found at:
http://pgfoundry.org/projects/pginstaller
For a complete list of changes/improvements since 7.4.0 was released, please see:
http://developer.postgresql.org/beta-history.txt
That said, and without further ado, Beta 1 is currently available for download on all mirrors:
http://www.postgresql.org/mirrors-ftp.html
And, thanks to David Fetter, the Beta is also available via BitTorrent at:
http://bt.postgresql.org
As with all releases, the success of this release falls in the your hands
pgsql-bugs ( at ) postgresql ( dot ) org
The more bugs we can find, and eliminate, during Beta, the more successful the Release will be...
On behalf of all of the developers, Happy Bug Hunting
d a v e
"Hmmm...upgrades."
I think Windows support is the only reason MySQL is so popular. PostgreSQL has always been ahead of MySQL in terms of everything but speed. But everybody is familiar with MySQL because, when you want to pick something up, you pick the one that will work with your system, and most people are on Windows.
Up until this point, you have had to install hundreds of MB of cygwin to get PostgreSQL to work on Windows. I think it's a little late to usurp MySQL's market share, especially as MySQL is now entrenched in the cheap web hosting market, but at least PostgreSQL might get the respect it deserves.
I guessed you missed OpenFTS, which has been out for a couple years now.
It was available if you were willing to pay for it for 2 years or so? But its been open sourced and freely available for a while now.
in other news, other software is in development and being worked on. but isn't ready for release yet.
sorry, but why is 'Beta' or 'RCx' news these days?
and why is it front page news? you have a developers and IT section, put it on one of those.
(-1: Troll)
... which you would know if you'd RTFA :P
As far as I'm concerned, the only truly missing feature is distributed transactions. Are there any plans to add them any time soon?
___
If you think big enough, you'll never have to do it.
The cross-datatype comparison indexing is very important (ex. '1' = 1), as well as index usage on OR clauses. Both of these before would cause full table scans, which is very costly on VLDBs (Very Large DataBases).
The improvement to the VACUUM I/O processor is important for Postgre to be used on a multi-app server. The 'play nice' feature will allow one server to house the DB AND web servers (albeit at a performance hit to the DB processes).
Overall, a nice improvement.
The move to have a Win32 Native executable was to allow PostgreSQL to to compete with MySQL.
Synchronous replication is the only feature that will allow PostgreSQL to compete with Oracle. Mission critical backends need systems that stay entirely in-sync and if any one of the nodes fail, the system can fail-over to one of the other db's.
Master-slave just isn't sufficient.
I just wanted to say thanks to Fujitsu for helping pay for this
And thanks to Afilias (the guys who run the"Tablespaces allow administrators to select the file systems used for storage of databases, schemas, tables, or indexes."
Seriously, I love these guys. Good fucking work.
"what does a wheel-barrow... have... to do with DBs??"
Nothing. It's even an incorrect category. A database is the data you collect. PostgreSQL is a DataBase Management System (DBMS). They should rename the category to reflect this.
Thanks,
--
Matt
I'm big into Oracle, and use MySQL on my desktop for test databases. But the lack of views and such is driving me crazy.
What do you recommend for Windows software to handle PostgreSql?
I'm looking along the lines of something like SQL Navigator or Toad, but free.
Something to perform queries (with syntax coloring) and return results in nice tables, as well as other more administrative tasks.
Back in the 6.x days postgresql had a well-deserved reputation for being, well, slow. That was back in the '90s, though.
I second that.
Why the red wheelbarrow ?
Shouldn't it be an Elephant, nickname Slonik (Russian for small elephant)
Apologies in advance for upper-case, but seems fitting to type SQL commands in that manner.
Is altering a column type consistent with the SQL-99 spec? Although I can see how useful this might be, I'd be very concerned about modifying table columns on the fly like this. How are type mis-matches handled? If there is a type mis-match, with the command continue, or roll back?
Same with Drop Column. I recall "way back when", the effort to modify a column was much more involved.
An excellent tool for working with Postgresql
PostgreSQL is the roXXorz.
Robby Russell
PLANET ARGON
Robby on Rails
PostgreSQL supports replication BUT replication is absolutely useless as a failover mechanism because it is asynchronous. That is, when you commit a transaction, you cannnot be sure if/when it gets propagated to the slaves. For true failover you need distributed transactions. Neither MySQL nor PostgreSQL support them, but curiously, Firebird does.
___
If you think big enough, you'll never have to do it.
Although it's not a Postgres issue, I'd like to see better support for it in Webmin. I know phppgadmin exists, but I prefer doing the simple stuff in Webmin, and there are numerous times I've tutted, and clicked, because the Webmin module doesn't let you do it, whereas the MySQL module does.
(Can't think of any right now, but there are things...)
Get your own free personal location tracker
I third that!
That's the exact opposite of most peoples' experience.
(From someone who used to wear Oracle DBA as one of his hats.)
And Friday is Hawaiian Shirt Day. But ask yourself this, "Is this good for the company?"
Does 8.0 have some kind of a switch to allow case insensitive string searches. I do know about all the things like ilike, upper() and such. That is not an option in my case.
Well, Postgres is compelling from an academic point of view, but it misses some important features for real-world usability.
Appearantly their SQL parser is still very flawed and you cannot seriously store binary data with it (BLOBs), unless you can live by the ugly encoding you get your data back with. MySQL never had such problems (it also allows binary data in TEXT fields!), and even if the PG developers don't want to understand that, it are those little annoyances that will prevent PostgreSql from becoming any more wide-spread.
It's supported 64-bit for as long as I can remember.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
We use posgreSql expensively with (relatively) large database (~1 TB) and it works great. Hopefully, the new release will continue on the rock-solid stability tradition of the previous releases.
Tablespaces are nice, but they really need to create database files that can contain objects. This is a major feature that most of the big boys have.
That is you allocate one file to a certain size. The file is a collection of database pages. Each page can be used by a table or index to store data.
This makes for much faster backups, and management. I can detach a database, copy the file somewhere, and reattach. There is a lot less file overhead since you lock on to a few files, versus a different file for each table/index. If your db has 100's or 1000's or tables this can really create a lot of overhead. If each table has a handful of indexs this can really mulitply.
Also you can attach different tables and indexs to different files and create groups of files. Then you can span these file groups across different drive subsystems to get really really good performance. This can even allow you to put non crucial data in another file that can be put on a super cheap drives, like debugging information or such. Tablespaces at least allows you to do this.
File per object is one of those things that really seperates postgresql from true enterprise level databases. Having a write ahead log used to be the other. You really need a db system that deal with pages, not files.
All in all though this is an important step for postgres, and maybe we will see single database files in the next version.
But not the best. Try harder next time.
A couple (years?) ago there was an article about some SQL compatible database that was developed in academia which was much faster than even Oracle and was open source. But for the life of me I can't remember the name. Does anyone remember the artcle that was posted on slashdot about it?
It is also important to remember that there was no provision for a standing army in the Constitution, as well.
How many versions of postgresql have gone by with that on the TODO list?
Is postgresql with the WITH RECURSIVE clause support pipedreamware or something?
File under 'M' for 'Manic ranting'
Tablespaces are also a key feature. The nicest thing about tablespaces is: each schema can have its own tablespace. This makes maintenance much, much easier, allowing you to isolate the data for each of multiple applications or developers. You can also use it to isolate mission-critical data within the same schema, which in many cases can keep your app running, even if you lose a non-critical portion of your database.
Savepoints are nice, but I've never had to use them. And altering column data types is nifty, but not really useful in the real world.
Btw, does PostgreSQL have row-level locking yet?
I've seen some bad DBA's but that one takes the cake. :)
"Thanks to the remote control I have the attention span of a gerbil."
It is also important to remember that there was no provision for a standing army in the Constitution, as well.
Correct, and this was done on purpose. Jefferson, for one, wanted a provision to PROHIBIT a standing army except in times of war. He was unable to convince the majority of others to go along with this, though.
However, it is an irrelevant point. An army is there for the Federal Gov't, whereas the militias were for the States. The rights of the PEOPLE to bear arms was given so that the people and States could have an adequate defence against the Federal Gov't as well as foreign enemies. Trust of central gov'ts was not high considering the recent history of Revolution.
This is why all the arguments about protecting yourselves from criminals; guns for hunting; etc. are irrelevant. The 2nd Amendment is there exclusively to give the people the power to protect themselves from the Gov't, if necessary.
Learning HOW to think is more important than learning WHAT to think.
Funny, I see that list of gotchas are for MySQL not PostgreSQL.
ba-dum
Gentoo Sucks
Heh. The funny thing is, I work at a Big Blue shop (they even buy IBM desktops). I've made multiple versions of DB2 shit themselves doing relatively benign things (a C udf, running fenced, for example, caused a 14 partition 8.1 DB2 warehouse on AIX 5.2 to spontaneously croak, all because I declared a return variable as varchar for bit data and treated it like a standard varchar; still no idea why, they never closed the PMR).
Once I had a db2 database here that would crash when you ran a backup (7.0 unpatched; it was a little neglected).
It's a great db, and a workhorse, but it's not rock solid. We find issues here all the time; even flakiness in the vaunted db2 query optimizer.
tsearch2 provides full text indexing and searching for postgres.
It's a contrib module - easy to build in.
Regarding licensing: "Stable version, included into PostgreSQL distribution, is released under BSD license."
It's fairly easy to use, although does require running a script against a given database to set up the tables it requires, and a pg_restore of a pg_dump done on a tsearch2 enabled database can need a little bit of fiddling with.
PostgreSQL adheres to the standards more than MySQL, so you're using a language with broader industry adoption if you use PostgreSQL. Especially from someone who says, "If X then we'll use Oracle", you ought to know that PostgreSQL would make migration to/from Oracle easier.
for those that feel like puking. Here is a link with proper color
The war with islam is a war on the beast
The war on terror is a war for peace
The reason I used mysql instead of postgres, last time I made that choice (6+ years ago) was because of the speed. Windows support didn't matter at all, only the blinding speed of MySql compared to old Postgres (http://mysql.matrix.com.br/information/benchmarks .html). My understanding is the Postgres has gotten much faster: Are there more recent benchmarks around?
Gavin McCloud forever!
this groupie shit needs modded up!!!!!!!!
3
you're a hitler nazi blah blah
EOT (end of thread)
<3
You really need to update your "known facts".
... except for MySQL's outstanding marketing.
Using a TPC-W style benchmark suite implemented with Apache, PHP4 and either MySQL 4.1.1 or PostgreSQL 7.4.2, I get more or less the same performance. Because of the transactional requirements and the update concurrency, all tables are InnoDB, of course. Based on that I cannot but contradict your claims about MySQL's scalability (and I am a PostgreSQL CORE developer). It keeps well up and is stable even under heavy load. Where the test uses a stored procedure in PostgreSQL, it must use a bunch of PHP code and separate query calls in the MySQL case, but that is exactly what developers do today and since the Apache server is part of the benchmarked system, this is as fair as possible.
That said, Apache+PHP+DB is the environment most people are talking about when they speak about simple to medium complex Web applications. With the scalability and performance being head to head, why would someone voluntarily miss stored procedures, views, triggers and all the other yet to be done for MySQL features? And while the (new in 4.1) subselect support makes it possible to get all of the TPC-W functionality implemented at all, to get it running fast enough in MySQL one has to rewrite some queries in a manner that I would call unmaintainable code. These complex features are not something where you can say "Transactions, checkmark". You have to look at how complete the implementation is and how well the query optimizer can deal with queries that use that feature.
So looking at the two right now, with the performance advantage gone, and the Win32 support knocking at the door, replication available and tons of well settled features in the HISTORY that are still on MySQL's ROADMAP, PostgreSQL is not just the better choice in some cases. It is ahead
Sincerely, Jan
It takes a real man to ride a scooter
Documentation is a bit slim but it's very nice and only takes a couple hours to figure it out the first time, and a few minutes to set up in future installs.
Here's a link.
From that site:
This Like That - fun with words!
Mysql is still able to read and write ancient databases (the ISAM format was defined in 1986 and can still be read).
The biggest problem that I face with Postgres 7.4 is that its referential integrity's locks block INSERTS and UPDATES that should go through fine.
For example, set up these two tables:
CREATE TABLE car_type (
id serial primary key,
name varchar(20)
);
CREATE TABLE car (
id serial primary key,
car_type_id integer references car_type
);
Now, try having two different connections insert with the same foreign key value (this field does not have a unique constraint):
Connection1:
BEGIN; INSERT INTO car (car_type_id) values(1);
Connection2:
BEGIN; INSERT INTO car (car_type_id) values(1);
You will see that the second transaction is waiting for the first transaction to commit. That is just rediculous and is one reason that Postgres is still small time.
gavin maeks mai mirc beep with the sound of loooooooooove
shoulda been .msi, not .mis.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
My experience has been that saying MySQL can't handle load is like saying it gets hot in Texas in the summer. :)
One of the points of Slony-I is to provide an answer to this very problem. Slony-I supports versions 7.3, 7.4, and 8.0, and may be used to support a short-outage upgrade path.
Suppose you have a 7.3 database, and want an 8.0 one. You set up replication between the 7.3 database and the new 8.0 one. It may take a couple of days for the new one to get up to date, but you don't have to shut the 7.3 one down.
Once the databases are more or less in sync, you do a MOVE SET to change the "master" to be the 8.0 database. Since they are nearly in sync, this should only take a few seconds. Presto! The 8.0 database is the "master," and you can switch over to it with whatever brief outage is needed to get your application to point to a new server.
If you're not part of the solution, you're part of the precipitate.
Actually, it's not the format of the data store so much as changes to the system catalog, which are put in place during initdb.
There has been a project for upgrading in place, but it just hasn't had enough man power thrown at it to be a viable solution.
Maybe it's time for you to volunteer?
--- It is not the things we do which we regret the most, but the things which we don't do.
I believe that native windows support for PostgreSQL is essential, not necesarily to deploy apps in that enviroment but to test and develop them. When I started using MySQL on my windows box, I had also looked into PostgreSQL. The lack of windows binaries for PostgreSQL made MySQL the default choice for me. On features alone PostgreSQL wins hand down. Also, in my experience, the faster performance of MySQL over PostgreSQL dissapears when I use InnoDB tables for transactional data processing. The doors to PostgreSQL have been open to many developers stuck in the windows world. Perhaps I will try PostgreSQL for my ASP.NET apps in addition to my trusty MySQL.
Cheers
Adolfo
What is interesting is that people today do not seem to understand that this is needed now, more than ever before.
I prefer the "u" in honour as it seems to be missing these days.
If you are competent enough to set up a database, you're competent enough to use escaping/unescaping functions.
That said, to make it transparent, just set a trigger and a view. Create a trigger on insert or update to the table in question to run the escape prior to saving to the table. After you've done this once, insert and update as normal from now on. Create a view that selects on the unescaped value. After you've done this once, select from the view as normal from now on.
It's nice that PostgreSQL allows folks to work around these "issues." I don't blame you for not seeing the possibility that people wouldn't want or care about escaped binary data in their database. With MySQL, failure to see possibilities is commonplace. Like for example the fact that triggers and views are probably unknown to you because MySQL doesn't have them. But even though they easily and elegantly address your "problem," I guess they're just "nice extensions."
And for the record, "data" is a piece of information. "Database" is the collection of information -- the collection of data. Storing data is an important task for "database management systems." All the search and calculation features are the raison d'etre.
- I don't need to go outside, my CRT tan'll do me just fine.
Not only you can store binary data easily in Postgres, you can even *index* it (even if it's thousands of bytes long).
Can you do that with MySQL???
The features are getting in there... You make me laugh. Where are the *basic* things like triggers, stored procedures (only alpha), check constraints, etc? People have been waiting for *years*. MySQL development is getting slower and slower...
Problem with PG is that it is an old design that has been worked with for quite a while. Dude, MySQL design is even *older* (ISAM, for one). Postgres has relatively newer features like object relational.
Interesting that so many americans believe that a hand gun is needed. Long guns, non automatic are all that should be allowed. If every citizen had a long gun, freedom would be preserved, and a hell of a lot of lives would not be wasted by impulse shootings.
do NOT underestimate the power of ragheads in large numbers!
I hate to say it, but if it comes down to a revolution, a concealed weapon is all that allows a revolutionary the ability to perform certain missions. You can't conceal a long gun.
I agree with you, to a point. If you could guarantee that criminals wouldn't have handguns, I'd agree with you even more. If you could guarantee that criminals wouldn't have knives and bats and sticks and tire irons, I'd agree even more. If you could guarantee that criminals wouldn't rape and kill a young woman out for a morning jog, I'd agree with you 100%.
But you cannot guarantee that, so a handgun is the perfect answer in a no so perfect world, if the user so chooses to become trained and armed.
nt
Dude, with "kill -9" it will not be long until you corrupt PostgreSQL, MySQL, etc. too.
When I was a kid, 10, or 12 not really sure, I got introduced to the realities of firearms. A big production was made about rounding up all the dogs and putting the horses away. Then the gun was retrieved from the closet. Climbed to the cupola. Then Pepe disappeared for 20 minutes and came back with .22 ammo. Then we shot 10, 20 rounds into 2x4's. It was a demonstration that is permanently etched into my memory. I remember little from those years, but I will always remember the size of the little .22 hole going in, and the giant divet taken out of the back of the 2x4.
90% of Americans (I'd gather) have never touched a gun, nor seen what they can do other than movies, Real Police Videos, and Discovery Channel documentaries.
They have no respect for the power of firearms, nor for the immense peace that firing weapons can bring to the soul, knowing that you can wield the power to take a life, yet be respectful enough not to. They are afraid. They are far removed from the people the Framers represented. They don't have to hunt for food. They don't huddle in shacks burning wet wood and wearing dirty clothes eating maggoty bread and facing constant Indian attack.
No, they go to PTA meetings, bitch about the price of water service to the house, and zoning variances about how far from the sidewalk they can plant flowerbeds, or go on a rampage and destroy some kid's treehouse because of an unreasonable fear that their own property value is somehow diminshed.
That is the reality of America today. And it sickens me.
Try this one:
CREATE FUNCTION name(int) RETURNS SETOF test AS '
SELECT * FROM test WHERE id=$1;
' LANGUAGE SQL;
Then try using:
select * from name(1);
Should work pretty well.
Yes, non-automatic long guns would do wonders against military weapons like the M-16 and newer replacements.
Did you not read the post? The idea is to protect yourselves from a despotic *gov't*, if necessary. Those are the people with machine guns, tanks, hand grenades, etc.
Non-automatic long guns are wonderful for protecting yourself against despotic deer or elk, and a tyrannical rodent or two. Against a real foe, real weapons are needed.
Well, my other points aside, you're right about the triggers and check constraints (I thought check constraints were in there already though.... oh well).
MySQL is not an old design. Its a new and modular design, ISAM has all but been replaced by InnoDB. I'm not talking about the transaction engine.
You're right though, I've noticed progress slowing, you'd think it would pick up. Seems like all the MySQL progress of years past has just spurred the Postgres team on.
Still, postgress has a clunky native interface, which is the biggest factor for me.
"What the superior man seeks is in himself; what the small man seeks is in others."
- Confucius
Personally, I do not mind some of the attitudes towards guns from city slickers. It is understandable. Not desired, but understandable. What I find funny is other attitudes. My S.O. thinks hunting is abismal and she does not want our daughter to be around farms. Nor around hunting or fishing. She thinks that Hunting is horrible.
But she sure loves to eat chicken, steaks, etc. I have not bothered to point out the artery that I noticed in her steak the other day.
Likewise, she objects to guns and and only grudgingly tolerates my fathers bow. She opposes W's attitudes towards stealing our rights (thank god), but would gladly steal my right to own a gun that may one day be used to fight against this corrupt (or any other) admin.
Sadly, I think that she is typical
I prefer the "u" in honour as it seems to be missing these days.
There is something funny about having 2 of us be modded down, but the A.C. that talks about nazis etc. is not. hummmmm.
Every place I have worked has had at least one or two (if not more) old PCs lying around doing nothing (and when I mean "old", I mean a couple of gens old - not dirt old). Simply waiting in the wings acting as spares. Furthermore, at all of my jobs there have been at least one *nix box.
So, turn that unused hardware into something useful - drop BSD or Linux on it (or some other *nix, or scrounge on Ebay for an old Sun box or something else cheap), and drop PostgreSQL on it - ODBC drivers on your Windows boxen and there you go: an easy, cheap (maybe even free) PostgreSQL development environment.
Just because you develop under Windows doesn't mean all of your development tools have to be under Windows...
Reason is the Path to God - Anon
You don't even need to go into that to show the problem with his sig.
Here is the text of the 2nd:
A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.
Now, allow me to change just a few words:
A well educated electorate, being necessary to the security of a free State, the right of the people to keep and read books, shall not be infringed.
Does the above mean that only the well-educated should be allowed to keep and read books? Of course not. The second clause stands on it's own. If the founding fathers had intended for only the militia to reserve their right to bear arms, they would have said "the right of the militia" not "the right of the people".
I can respect arguments that gun control laws are a good idea. I cannot respect arguments that gun control is constitutional.
Social scientists are inspired by theories; scientists are humbled by facts.
You're exactly right, of course. Those who say otherwise have no professional communication experience.
PgSQL had a very steep lerning curve even for people with experience in other databases. Various unusual stuff just popped up in places which could not be expected from previous experience elsewhere.
How about COUNT(*) and other aggregates? Is is still as slow in 8.0 as it used to be in 6.* and 7.*?
I guess 8.0 fixed a long standing problem of select ... where small_int_column=1 not using indexes. That was a serious problem for those just starting with PgSQL because it was totally unexpected.
MySQL is nearly maintanence-free. It just runs and runs. PgSQL needs VACUUM and friends. Once we tried to move a database (from MSSQL) with market data to PgSQL (I think it was 7.4). A lot of stuff was inserted, and a lot of selects performed. Running vaccum/vacuum analyze once in 24 hours was not enough! By the end of the day performance of selects was abysmal. Every time we ran VACUUM ANALYZE, it took longer, and longer, and longer.
What about the problem with memory management and cache? I see it's being addressed in 8.0. I have to test 8.0, but with 7.4 it was impossible to run PgSQL efficiently as a dedicated server - grab all available memory and cache everything aggressively. It was very frugal about memory even when it was not necessary.
And, of course, the query optimizer. But that's understandably difficult. I have to see if improvements in 8.0 are significant
How long have you been a professional armed person?
I have one year's experience in a terrorist zone under my belt. It doesn't make me part of the elite, but I think I can form a reasonably informed opinion.
Handguns in the hands of the non profesional are the number one cause of inocent deaths caused *by inocent* ( 'till then) shooters screwing up.
A sniper is orders of magnitude more efficient against armed forces than person with a handgun. Now try to imagine trying a coup d'etat in a country with a couple of hundred million snipers.
Hand guns are only slightly more effective than knives close range, and pretty useless long range.
You mean that same ISAM format that doesn't support transactions, foreign keys, etc.? That ISAM table format?
In other news, if you can't make a dump of your database, how are you doing backups? You are backing up your database, right? Right? If it's a space issue, how about spending $130 for 200GB on a separate box for temporary storage? And days? C'mon! What are you using? A 233Mhz Pentium with a single IDE drive also doubling as a fileserver?
And finally, don't dump to SQL.
pg_dump --format=c
Faster; Smaller; More efficient.
- I don't need to go outside, my CRT tan'll do me just fine.
You missed the point completely. Some systems just can't stop for a dump/restore. EVER. And you cannot use PostgreSQL for such an operation because the developers can't descide how the data are supposed to be stored.
If my system manages to dump 20 000 rows per second and restore at a rate of 10 000 rows per second that means a 100M row database would need at least 4 hours for an upgrade. Try selling such a system to a large company. They will laugh. And 100M rows is not really that much - but it is to much for PostgreSQL if you want 24/7 operation. :(
I didn't say it had to stop. Granted pg_dump slows a system down, but the whole point was to allow hot backups.
That said, I get what you are saying, but in that case, how do you upgrade *anything* (and why)? What happens when a drive fails in your RAID? Do you wave your hands and wail because the speed has dropped during the array rebuild? How do you add drive space, memory, CPU power?
Really what you seem to be lacking, as other posters have mentioned, is redundancy in your database. Granted you will be back to a couple of days for the complete transition, but you are asserting a requirement that 90% of us do not need. Nevertheless, the synchronization option is relatively pain free and allows for the 24/7 uptime you require.
For the rest of us, it'll just be a few (ungodly at 3am) hours at most.
- I don't need to go outside, my CRT tan'll do me just fine.