PostgreSQL 8.1 Available
atani writes "PostgreSQL 8.1 has been posted, though not officially announced as of this moment. This release includes two-phased commits, improved SMP and overall performance, a new role system replaces the older user/group, autovacuum is now within the backend rather than a separate contrib module, and various improvements, performance enhancements, and bugfixes. " You can also read the developer notes for the popular database. One thing is clear- with the newest Postresql and MySql, you have much to choose from.
I've tested RC1 with some applications, and was really impressed by the bitmap-indices. I hope to see soon a multi-master replication now that 2PC is available. I've heard Slony-2 will have it.
Would you consider changing?
Are you sticking with what you know or are you going to bite the bullet and switch?
Have you upgraded mysql yet? (i seem to recall thats what you use)
Always good with improvements but will there come a time when both PostgreSQL and MySQL are too big as a small-website database?
I can't seem to find a Windows binary on the 'ftp browser' on their site. Am I missing something? Or is the Windows version of 8.1 not available yet?
creation science book
Found it!
/ is the link.
http://www.postgresql.org/ftp/binary/v8.1.0/win32
Clicking the '8.1' link on the 'new releases' section on the front page takes you to the 'source' files only. That was the problem I had!
creation science book
Lots of DB topics lately, anyone care to speculate?
When are they going to fix the inherit bug? The one described on the bottom of this page:l -inherit.html
http://www.postgresql.org/docs/8.0/interactive/dd
It is to bad that objects does not work yet.
The URL for the release notes in the story should be: http://www.postgresql.org/docs/8.1/interactive/rel ease.html#RELEASE-8-1
I count two (2) things: PostgreSQL and MySQL.
;)
Since when was two a crowd?
But neither of the two have a good, cross-platform clustering- or multi-master replication solution, which makes things kinda difficult in our end. For MySQL I can use circular replication, but this is undocumented at best, and very error-prone in extreme situations. The clustering in MySQL doesn't count - in-memory storage limited to half of your physical mem - come on, that's ridicolous. And for Postgres, any multi-master solution there would (currently) dramatically reduce performance. Not the best thing either.
Oh well. Maybe by this time next year.
Love over Gold.
Leaving Trolling aside, it would be interesting to read a review of the lastest versions of the 3 SQL engines, with benchmarks and everything. Does anyone knows a site/magazine which still do those kind of performance tests?
Ubuntu is an African word meaning 'I can't configure Debian'
One thing is clear- with the newest Postresql and MySql, you have much to choose from.
Worst attempt to stifle a fledgling Slashdot flamewar EVER.
Just installed the Windows version. Just a quick couple notes here...
:)
1. Installer was seemingly faster than 8.0 version.
2. Installer could do a little bit better job of hiding all the 'options' (ISBN, Fuzzy search, etc) you can install. Put them behind an 'advanced' button or something - it's a little intimidating to see so many options at first. Also the PL language choices are odd - 'pl/Perl' and 'pl/Perl (untrusted)' ??? These are things that could probably be hidden from the majority of people just testing it out for the first time - either install everything by default, or nothing, but put some of these things behind 'advanced' tabs.
3. pgAdmin III bundled tool is 1.4 - I think I was using 1.3 last time I installed. Visually it looks a bit nicer - I'm assuming they've fixed some bugs or something similar to warrant a number change.
I'll probably get flamed for #2, but I'm just putting out some suggestions. The fact that there *is* a Windows installer at all is a good thing - I'd just like to see it improve to help reach a wider audience for future releases.
creation science book
They were probably waiting for their mirrors to finish syncing before some yo-yo posted to /. and caused every other yo-yo to start downloading.
Been using RC1/RC2 for some time now. I'm impressed with the role feature, although it won't add much to the average user. The speed has been night and day with 7.3. I also haven't had any problems with the RC's in the slightest except one: a renamed table then wouldn't let me delete the sequence it depended on after the renamed table was deleted. Apparently I wasn't the only one who found it and it has been reported as fixed, though who knows.
My only beef with PgSQL has been there since before the 7's. There is still no way to not show the list of databases to users who have no right or access to those databases. Why should userA with rights to databaseA see that there is a databaseB or databaseC? This really seems like a simple feature, yet nobody will accept it into the release.
-M
when you see the word 'Linux', drink!
I always wondered how one could create a multiuser database frontend reliably without this statement:
... FOR UPDATE NOWAIT;
... FOR UPDATE;
SELECT
If you do
SELECT
you either get exclusive access OR you block waiting for the person editing a record to finish. Obviouslt blocking isn't good in a frontend. Hacks like timeout=100, because this can trigger just because the database is being used heavily at that moment, and at best is an ugly work around.
Now with the NOWAIT option you can return instantly and say "Someone else has the row locked", and give control back to the user.
Nice feature to have, but people have been using postgres (and other databases) sucessfully for years. How did they work around it?
Seriously, Firebird already does all of these "new" features that have been added to this... How come it doesn't get the same press attention? Two-Phase commits? Come on, this has been around for over a decade in the major databases...
The "big 3" DBMS vendors all include clauses in their license agreements which preclude head-to-head identified benchmarks and comparisons. You can run benchmarks and call them "System A, B, and C", but you cannot tell which is which.
Thanks for the explanation link, and thanks for the work you've put in to pgAdmin.
creation science book
I've been running my Blastwave packages[1] of the betas and RCs since the first snapshots became available, and I've been massively impressed with this release. Moving autovacuum into the main package is a really nice touch - all you have to do now is uncomment a few lines in postgresql.conf and it handles it all for you.
:)
The new roles system is also amazingly useful. You can set up a range of roles with a variety of permissions, and then let users "assume" those roles. So you can log in with a day-to-day account, and when you need to do some admin work just SET ROLE [name of your super-user role] and then revert back once you're done. Great if you want to give a junior DBA the ability to create databases, but not the ability to modify other things (such as creating new roles).
Congratulations to the PostgreSQL team anyway - for doing things "the right way"
[1]=http://www.blastwave.org/testing/
Indeed, SQLite is an excellent choice for small web sites.
I recently set up a small site for a local business. Basically they wanted to be able to upload and edit product information, in addition to other such tasks.
Using a combination of OpenBSD, Python and SQLite, it was very easy to get a system set up for them. Best of all for them, it turned an otherwise obsolete computer into a working server.
Making backups of the database is quite easy too, considering a single file (or three, in their case) can be copied and archived.
While I did not benchmark the system, there is a good chance that the SQLite solution is far more efficient than that of MySQL, and most likely moreso than PostgreSQL. But then again, SQLite doesn't offer many of the more advanced features of larger database systems. If you don't need those features, you might as well trade them off for faster execution and reduced RAM consumption.
Cyric Zndovzny at your service.
Time to upgrade my Jabber server from PostgreSQL 8.0.4. And with RubyForge getting up past 3.5M records now, performance improvements are good news...
The Army reading list
PostgreSQL 8.1 is a major version upgrade. The first two digits are major versions, the third one is minor. Sure, not as major as MS SQL 2005, but not as late either...
I run a very small website as a hobby and I've just always used MySQL because that's what my PHP book featured. I hear quite a bit about mysql in forums on PHP that I go to, and on slashdot itself so I'm asking you... how popular is Postgre? If I used forum posts as any proxy, it would look like MySQL is dominant. Is that really the case?
Finance tutorials and more! Understandfinance
http://en.wikipedia.org/wiki/Version
Agreed. I have never seen up-to-date comparisons of MySQL/PgSQL/MsSQL in so many years. We need to once and for all get a few good test sets and see what these puppies can do objectively.
Of course MsSQL has a big lead weight for its cost, although M$ will claim its TCO is still lower- so it damn-well better perform like it's worth $50-$100 per concurrent connection more than the free alternative.
-M
when you see the word 'Linux', drink!
SQLite is great but concentrates on being a small database. This design choice is great for many applications probably, though poor handling of large rows ( can't read partial blobs, etc. ), weak concurrency model, etc. inconveniences others.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
Perfect Workaround:
"And the performance benchmarks are System A: ???, System B: ???, System C: ???.
We were impressed with all of the systems listed here. Unfortunately, system B seemed to have a high purchase price tag *wink* which worries us in its value proposition. System A's corporate backing provides some additional stability to the database's presence. Finally, System C's has always been known for its great concurrency control and Oracle-like operation.
*wink* *wink*"
We didn't name anything, but the first one is a dead giveaway, and I'm sure the second two aren't rocket-science.
when you see the word 'Linux', drink!
Handling terabytes of data and 100s of millions of records with pgSql is nothing new.
s _osc2005.pdf
For details, see
http://www.powerpostgresql.com/Downloads/terabyte
http://www.apple.com/macosx/
I am not trolling here, I honestly don't know allot about database software.
How does this compare to SQL 2k and the newly released SQL 2k5? I already know the comments about open source, free, etc.
THAT ASIDE, how do the released compiled programs compare? Does anyone know?
It's interesting that this is worded as "PostgreSQL 8.1 Available" and just a short while ago there was a story entitled "MSSQL 2005 Finally Released." Would it have been so painful to name the MS story without bias?
Support the FairTax
Uh, sorry about that one.
I've been using 8.1 beta releases for a while now, and even compared to 8.0.x (which was really good), 8.,1 is very impressive and well worth the upgrade. Performance improvements alone are worth it (esp on SMP).
But the biggest thing to me in 8.1, which the blurb didn't mention, is native support for inheritance-based table partitioning optimizations, which is a huge performance win for large and/or ever-growing tables.
11*43+456^2
Sounds great, but with everything up and stable at the moment, I'll wait to switch to it when I'm developing something new again.
Start Running Better Polls
Okay, I'm going to bite: what on earth does a red wheelbarrow have to do with databases?
Save Maine's economy: write stuff down. All comments are exclusively my own, not my employer.
I'd really like to move a few projects at work to Postgres, but there's one essential feature that it still appears to be lacking: FULLTEXT indexes. I don't even need the fancy ranking stuff MySQL does - a boolean word match would be enough.
Ahhhh truth is modded flamebait now... Nice work!
If you mod me down, I *will* introduce you to my sister!
Congratulations to PostgreSQL team, with the 8.1 release (roles and autovacuum) PostgreSQL is ready to cover more than 90% of the enterprise needs.
What still I see as a missing piece are the developer tools. The engine is great, but you also need to be be able to make diagrams easily, generate DDL for differences between a modified diagram and a production database, reverse engineer a database and create a diagram. There are two working solutions
1) dia + tedia2sql + zongle
2) druid.sf.net
but they don't compare with tools such as JDeveloper (also having pl/sql procedures editing, with code completion etc)
Would be nice to focus on these too. Red Hat Database Visual Explain is an example of a good tool for PostgreSQL.
Thanks for PostgreSQL!
> One thing is clear- with the newest Postresql and MySql, you have much to choose from.
Let's hear what MySQL has to say:
From http://dev.mysql.com/downloads/mysql/5.0.html
> MySQL Community Edition has not been certified and is
> not considered ready for enterprise production use.
Well, not much to choose if you plan something serious
Just use the RHEL version for your CentOS version
/ rpms/redhat/
http://www.postgresql.org/ftp/binary/v8.1.0/linux
Its just not part of the default postgresql install, its 3rd party. Search for pgcluster.
If you feel that Florida L/P does a bad job, then buy a generator. They are reasonable in cost (you can have them for a couple of hundred to a couple of thousand), and you can get them to run off LP, natural gas, gas, or diesel. Even if you are in an apartment, simply get a small generator and run it on your balcony with an extension cord going inside. Considering that you are in Florida, make sure that you have one big enough to power a small window a.c., a microwave, and your laptop/network hardware.
I prefer the "u" in honour as it seems to be missing these days.
Should have linked to OpenFTS.sourceforge.net.
Oopsie.
Remember that what's inside of you doesn't matter because nobody can see it.
Finally! 2-phase commits. Distributed transactions can't be far behind. Is work already being done on them?
THANKYOU THANKYOU THANKYOU PostgreSQL team!!!
(I feel like a little kid who just got a new toy as a present).
___
If you think big enough, you'll never have to do it.
Is the data format the same between 8.0.x and 8.1.x - i.e. can someone just upgrade the software, and stop and restart the daemons? Or will it require a pg_dumpall, stop, upgrade, start, and restore?
Get your own free personal location tracker
That kind of functionality is rather EVIL if you ask me; it is likely to end up locking someone out because someone selected a record this way and then went out to lunch. For web applications - by far the biggest use of Postgres no doubt - you won't ever want to do this kind of thing anyway.
If you are paranoid about two people editing at the same time and then overwriting each other's changes, build it into the app some other way, like checking a "last update" timestamp before saving changes to the record and diff'ing it for the user.
Chances of that happening are astronomicaly small in most apps anyway.
It's tough to say how they compare. You really need to take time and investigate what is right for you. MS SQL Server is windows only, that is enough to turn some people off. There are lots of differences, each is going to outperform the other in certain circumstances.
"Yukon," which became Sql Server 2005, was originally targetted for "early 2004"
For all you Postgres trolls saying how Postgress isn't a real database. Please put all your flames/comments into this thread. thx.
oh wait minute...
Databases are often used for dead projects, buried under large mounds of data. The parallel would seem to be pretty exact.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
People bitch about MySQL not having transactions, then other people respond with 'just choose the table type innodb!'. Point is, transactions aren't something someone writing a mysql app can assume will be available without some gyrations on the end user's part. And the same thing exists for Postgres and fulltext indexes. Unless they're default and can be assumed to be on every installation of 8.2 (or whatever) they essentially don't exist.
creation science book
And it just happens that I have to present about this subject on tomorrow's class of databases 3! ;)
I saw that and it will help me a lot on the work, because my teacher loves postgreSQL as me
Wooww... This looks more and more like Oracle version 7 released in the early 90's. Oracle has had 2PC (2 Phase Commit) for about 15 years now. Nice catchup
So has Firebird... See: http://firebird.sourceforge.net/index.php?op=guide &id=ib6_overview.
Disclaimer: I generally prefer PostgreSQL, although I usually use MySQL because that's what my workplace runs.
I would argue that it is easier to just learn how to work with MySQL than to use FileMaker for anything. In my opinion, FileMaker is barely a database at all, and if you ever want to migrate it to something else, you will pay dearly. I recently had the displeasure of migrating a FileMaker inventory system over to a MySQL/PHP application that I developed. It was wretched.
If your site uses one DB or the other and is working just fine, then why would you want to rip out the DB and start over? I can't tell you how to spend your time, but if it were me, I'd spend time adding new features or promoting the site or contributing in other ways to your community. Switching DB engines is a waste of your time and effort.
If it ain't broke...
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
With 8.1, autovacuum is integrated into the main backend, it's no longer a external contrib module. This has several benifits. First, it's easier to setup, just uncoment the setting int he postgresql.conf. Also, you can now set vacuum and analyze thresholds as well as vacuum delay settings on a per table basis. This was probably the biggest problem people had with the contrib version. In addition it is more reliable since DB activity data is no longer lost between database restarts. Also, you can now exclude specific tables from being touched by autovacuum.
OpenBSD-current users already have PostgreSQL 8.1 in the ports tree :)
{{.sig}}
(Note - some content cross posted from the recent MSSQL2005 posting I made)
a ger [sqlmanager.net]
a ger [sqlmanager.net]
/ powerdesigner [sybase.com]
Q L%20GUI%20Tools/document_view [postgresql.org]
I take issue with the number of tools.
Postgresql has a great variety of tools, both OSS and commercial that work great. I've been working on an updated list of all the tools. Here are a few of the most popular admin tools:
PGadminIII
http://www.sqlmanager.net/products/postgresql/man
DBvisualizer
http://www.minq.se/products/dbvis/ [www.minq.se]
EMS Postgresql Manager
http://www.sqlmanager.net/products/postgresql/man
PHPpgadmin
http://sourceforge.net/projects/phppgadmin [sourceforge.net]
Sybase Power Designer
http://www.sybase.com/products/enterprisemodeling
ERWIN data modeller
http://www3.ca.com/Solutions/Product.asp?ID=260 [ca.com]
CASE Studio 2
http://www.casestudio.com/enu/default.aspx [casestudio.com]
Postgresql has a vibrant tool community. If you want more info on Postgresql tools see
http://techdocs.postgresql.org/v2/Guides/PostgreS
I've been wanting to write an app for OS X using PostgreSQL but I really wanted to take advantage of Core Data. Since sqlite is an option in core data, I may try it the way you are using PostgreSQL and Core Data. Thanks for the eye opener.
Since you feel the need to respond to my sig.
1. FPL closed a trouble ticket without ever coming out to see if power was restored. I put in the trouble ticket AFTER others on my block got their power restored as requested by FPL and after a week went by.
2. FPL refused to re open the trouble ticket after I called them to let them know that they had closed it improperly. I asked if their mistake would delay me getting my power back I was told "only by a day".
3. On day nine FPL sent a crew to fix the problem. They couldn't find the problem. The crew may have been over worked or tired since the problem as a lead that went from the transformer to the hot line at the top of the pole. Yes I described it to the person that took my report BOTH TIMES.
4. After finding out the crew came and didn't fix the problem I called up again and asked to be notified when the crew would be at my home so I could show them the problem. I was told that wasn't needed and that no they would not notify me.
5. When I asked to make a formal complaint about them dropping my trouble ticket I was told that I couldn't
6. When I asked if I could file a complaint with their regulating agency I was told no. I then asked again I was told no. I then asked, "You mean I can not place file a complaint with the Florida Public Service Commission?" I was told well if you feel you must you can.
7. Two hours later a crew came and got the last 4 homes on my block back up. When I told them that a crew had already come and didn't find they problem they just shook their heads and said they where sorry because it was a simple problem that should have been fixed days ago. Time to fix... 4 minutes.
8. FPL is trying to get a rate hike.
I have no choice in what power company I can go with so I am voicing my opinion that they should not get any rate hike unless they can improve power restoration. Many poles snapped because they where old and rotten. They should have been fixed a long time ago. FPL has been turning a good profit for years and letting the grid go down hill and now they want a rate hike to pay for fixing the damage.
As a "PUBLIC" regulated utility they suck. Last year when we got hit by a 2 and a 3 I understood that the area had not been hit by a storm in a long time. This is just one year later and the storm when it hit this area was only a category 1 and several counties where completely blacked out. The town just north of us has a city utility company and they where restored in 3 days.
I give my thanks to the crews but the fact that our power grid seems to do worse in a hurricane than many mobile homes is just wrong.
BTW running a generator on your balcony is often not allowed and is very stupid. Many people have died in fires and from CO poisoning from generators. You shouldn't run them closer than 10 ft from your home and never on a screened patio or in a garage.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Frankly, I think PostgreSQL would considerably more popular if it simply had a better name. Not only is the meaning of the name not apparent (etymology anyone?), but it's not even clear how it should be pronounced.
Then again, FireBird isn't nearly as popular as either MySQL Or Postgres. But Postgres is the clear winner in breadth and power of features.
Get on the Firebird train, toot toot!
http://firebird.sourceforge.net/
- MySQL is very simple to learn
- MySQL is supported by virtually all webhosting companies, whereas you have to look pretty hard to find a host that provides PostgreSQL.
- MySQL historically has performed much better than Postgres for both reads and writes. Nowadays, MySQL only outperforms Postgres on reads. So for a website, where most database calls are SELECTs, MySQL will often (but not always) give better performance.
- Nearly all blog, forum, photo gallery, etc. packages support MySQL. They do not all support Postgres, but some do.
Now, of course, Postgres has many advantages over MySQL, but for a small hobby website, you should just use whatever you know best and your host supports and your software supports. The answer is normally MySQL for your type of website.Postgres is generally better than MySQL (though MySQL is closing the gap) in terms of SQL standards compliance and RDBMS-type features. If you're implementing a true DB app, you should definitely give PostgreSQL a second look. But for a web forum, stick with MySQL.
P.S. Did you go to Wisconsin?
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
When Debian Sarge was finally released, the slashdot writeup went so far to assert that "Hell has officially frozen over!". So the sword cuts both ways.
Nice kneejerk reaction though, buddy.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
Not only is the meaning of the name not apparent (etymology anyone?), but it's not even clear how it should be pronounced.
The PostgreSQL project was founded by UCB Professor Dr. Michael Stonebraker--the same person who founded the INGRES database project. At the time, the INGRES academic project was concluded and the product was commercialised and further developed by Computer Associates (I believe there was a non-commercial fork that still exists today). Since Stonebraker's new project was started to do "post-INGRES database research" the project came to be known as PostGRES.
Development on PostGRES was rapid and successful, and combined with the fact the source was pubically available it developed a growing following outside the university (it found a niche as a popular database for storing astronomical data among other things). Soon, the academic researchers were spending too much time supporting the project and the project was officially closed in the early-mid 90s (this was release 4.2...? Version 4.something anyways).
At this point the project forked just as its predecessor INGRES did years before. Stonebraker formed a company called Illustra to commercialise the product. Illustra was eventually acquired by Informix and what started as PostGRES became "Informix Online Dynamic Server". This is now a still-active IBM property.
The second fork came about as a product of two of Stonebraker's graduate students (Andrew Yu and Jolly Chen). There was still great interest in PostGRES and one of the biggest requests was to migrate from the nonstandard QUEL to SQL as the query language. Yu and Chen added this change and released Postgres95 (Illustra/Informix also moved to SQL but I believe Yu and Chen beat them to the punch, although Illustra was much more stable once it was released). The version number was reset to 1.0 but this is generally considered "Version 5".
Improving the stability and performance of Postgres95 at the pace demanded by its growing user base was too much for two busy grad students, so the international development team that exists today was formed to take on the task. The name Postgres95 was rather hated, as it dated the project and created an association with a rather undesirable product (and it made no sense to make such an association as Windows 95 is incapable of running any version of Postgres). The name was changed to PostgreSQL ("Postgres with SQL" as opposed to the original Postgres that used QUEL). The versioning resumed continuity with the original PostGRES project (so 95==5.x and the first PostgreSQL was version 6.0).
Pronounciation: Linux has suffered from this ambiguity as well and it has done nothing to limit its success. As for PostgreSQL it is most commonly pronounced "Postgress Cue Elle". I've heard people say "Postgressequel" as well though it seems that is about as well regarded as pronouncing Linux "Lie nucks".
Thaks to the PostgreSQL team for all your hard work...with every major release you blow me away with pleasant surprises well worth the dump and restore. This time around the integration of auto-vacuum is very nice, and the revamped user/role privlige system even more so.
How come Postgres never took off like MySQL? I've been using Postgres in Java projects that take a rather heavy load and it just seems to keep on trucking....
Horns are really just a broken halo.
A big thanks to the very helpful people on the #postgres irc channel. I have been there several times asking for help, and always i have gotten an excellent, very in-depth answer, for what i tought were quite difficult questions (performance problems, weirdness with inherited tables, or just how to build a query to give you what you want in an efficient way). Thank you !
With Oracle, text search, replication, and practically all features are not default, but for-pay extras.
With MSFTSQLServer, text search, replication, and practically all features are built-in --- but you have to pay extra to enable them -- and then you have to drop them and buy a third-party "not-default" replacement package to make them scale effectively.
Let me guess, you're the kind of guy who never installed *any* extra software on his computer and wonders why Solitare and Minesweeper are the best games in existance -- after all, warcraft/doom/whatever aren't installed by default either.
The Windows version of PostgreSQL 8.1 comes bundled with the newly released pgAdmin III 1.4 (2005-11-07).
.pgass/pgpass.conf files.
pgAdmin III v1.4.0 contains a number of new features over previous releases, including:
Slony-I support.
An SQL/shell job scheduling agent.
PostgreSQL 8.1 support:
Autovacuum administration.
Roles.
Stored procedures (ie. Functions with OUT parameters).
Prepared transactions.
Allow server registration without connect.
Allow connection selection in the query tool.
Major source tree and architecture overhaul to allow further extensibility.
Unix domain socket support.
'Guru Hints' to help new users.
Password can be stored in
New graphics throughout.
Alert the user when a query finishes in the query tool if the window is not active.
Graphical EXPLAIN.
Support for Asynchronous Notifications in the query tool.
The complete changelog is at:
http://www.pgadmin.org/development.php#changelog
PostgreSQL-based tools and applications are growing fast. Perhaps I should have said "and applications", because PostgreSQL's toolset is certainly competitive. I think the main gap remaining is application support, because there are still many applications that do not recognize PostgreSQL.
Social scientists are inspired by theories; scientists are humbled by facts.
Under what circumstances is SQLite a good choice?
I have measurement data that is structurally simple enough that a single "flat file" might even be enough, but I have tens of millions of records (with perhaps a hundred or so fields each, both text and numeric). I'd like to be able to search, filter, sort, do arbitrary SQL queries, etc. as quickly as possible, but this would usually just be on a Windows laptop with a single user or perhaps a Linux server with a single user. Would the power of Postgres be advantageous, or is that the wrong kind of power and would something like SQLite be more "powerful" in a case like this (LOTS of data, simple structure)?
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Debian already has a "postgresql-8.1" package (in unstable). I just installed and switched over to this. Works good so far. For some reason the page for the package is not there yet, but I guess that is because its very new?
For the sort of work you're doing, SQLite would seem to be the best choice, as it has the stuff you want and doesn't have any of the overhead of the stuff you don't want.
A very simple rule of thumb is to look at the number of variables - whether that is the number of relationships, the number of users, the number of tables, etc, but NOT the number of records - that's not really a variable in the same sense.
If the largest number is single-digit, then SQLite will out-perform anything else. If you're between double digits and triple digits, MySQL is so far ahead of the rest that it's not funny. Quadruple digits upwards, you're needing sterner stuff and you're looking at Postgres or (for massively complex databases) Ingres.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
He asked if pgsql was more widely-used than mysql, and I said no, it is not, and gave some reasons why. One of the many reasons that mysql is so much more prevalent than pgsql happens to be performance. Since we are talking about many many applications, not his specific applications, I can say with total comfort that in the majority of applications, my generalizations will hold. That mysql will yield better performance than pgsql. In all applications? No. In his application? Who knows? But if you are looking at popularity, you have to look at what is most commonly the case.
Most commonly, for a simple-data-model dynamic content website, mysql will beat the pants off of pgsql. I'm sorry to say it, but it is true. It is certainly not true in all cases. But it will be true in the majority of cases. Deal with it.
And yes, that is one of the many reasons why mysql is vastly more popular than pgsql. Nothing against pgsql. I'd use it if all my apps supported it (I run one app, mythtv, that will not support pgsql, and I see no reason to run two database servers when every app I run supports mysql). I'm glad it's out there and that it's available. But more often than not, it is going to be slower than mysql for simple data applications.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
Ok, not in the traditional OO sense, but inheritance is a key portion of the way that table partitioning is done in PostgreSQL especially with the improvements in 8.1 involving check constraints and inheritance table selection.
For example, lets say I have a three terabyte table representing sales. Most of the time, my queries are limited to a specific geographical area. I can use a combination of CHECK constraints and INHERITS to create table partitions to speed access to specific data sets and keep things managable. In these environments, it usually is not important to deal with the inherited index entry problem but I expect that if inheritance continues being used for more stuff behind the scenes, this will have to be approached at some point.
LedgerSMB: Open source Accounting/ERP