PostgreSQL 8.1 Available 261
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.
Congratulations to the PostgreSQL Team! (Score:5, Informative)
Re:Congratulations to the PostgreSQL Team! (Score:3, Informative)
I'm using PostgreSQL for many things (custom app, Drupal, Apache logging, back-office) and it's great- this new release adds lots of useful bits.
Probably the most useful new feature for those who use it to run mini web sites will be the MAX() and MIN() functions now using indices- this has been a point of contention for some time.
XA will be useful for bigger stuff.
I'm also really pleased auto-vacuum is now part of the DB.
Now, Gentoo- let's get cracking!
Re:Congratulations to the PostgreSQL Team! (Score:2, Informative)
Re:Trollvoidance (Score:2)
Re:Congratulations to the PostgreSQL Team! (Score:4, Insightful)
Replication may never be "included", in the sense that it's a part of the core distribution. There's really no reason to have it there, and several reasons not to:
(1) New releases of the replication software would have to wait until a new release of PostgreSQL.
(2) There are many completely different things that go under the heading "replication" that are used in different situations, depending on how often you expect the connections to be up, whether you're replicating for redundancy or speed, etc. Often, a real situation will require using multiple types of replication.
(3) It puts an extra burden on the developers to maintain every line of code in every piece of replication software as well as the rest of the database.
What users really want is to have another well-maintained, BSD licensed project that achieves things not possible with Slony-I, PgPool, etc.
Question for Taco (Score:2, Interesting)
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)
Re:Question for Taco (Score:5, Interesting)
"
MySQL works fine on Slashdot. It has all the features and performance we need, it has been running flawlessly for years and we're already familiar with it, so why should we change to anything else? What makes you think there's a bullet that needs biting? Granted, PG looks neat and all, but why exchange a dollar for four quarters?
"
Here's what I think he'll answer to your second question:
"
MySQL 5 doesn't offer us any features we absolutely need (otherwise we'd be using PG, right?) We will upgrade eventually, but we have bigger fish to fry right now, and upgrading our database is not very imperative.
"
Something else he might say:
"
Running slashdot is not as simple as running a basement website that gets 3 hits per hour. Thought needs to be put into these decisions. We can't just run off and install something the day it's released.
"
Windows installer location? (Score:2)
nevermind - I'm just hard of reading this morning (Score:5, Informative)
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!
Re:Windows installer location? (Score:2)
Whew! thanks for reminding me - I almost forgo
PostgreSQL 8.1 Release Notes (Score:2, Informative)
Much to choose from? (Score:2, Interesting)
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
Re:Much to choose from? (Score:2, Informative)
http://firebird.sourceforge.net/ [sourceforge.net]
So that's three open source SQL database systems; MySQL, Firebird, and PostgreSQL.
Here is a comparision between aviable open source relational databases.
http://www.geocities.com/mailsoftware42/db/ [geocities.com] (it's a bit dated)
Here is the migration guide for MS-SQL to Firebird, in which I doubt your interested.
http:/ [sourceforge.net]
Re:Much to choose from? (Score:3, Informative)
http://firebird.sourceforge.net/ [sourceforge.net]
Firebird is kind of a bastard step brother of PostgreSQL, since they share the common Ingres heritage... it's got foreign keys, triggers and stored procedures for far longer than MySQL, for instance. It's Borland Delphi's Interbase code gone open-source. However, it's a relative newcomer and most who care are Delphi developers.
Its license is neither BSD nor GNU, which i think also makes up for some caution people have against it.
Postgresql has multimaster replication. (Score:3, Informative)
Just installed Win32 version (Score:4, Interesting)
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.
Re:Just installed Win32 version (Score:4, Informative)
1.3 was the development series for 1.4, the new stable release as of yesterday. There are a heap of new features over 1.2 (which shipped with PostgreSQL 8.0) - see http://www.postgresql.org/about/news.419 [postgresql.org] for details.
Thanks (Score:2)
Re:Just installed Win32 version (Score:5, Insightful)
Re:Just installed Win32 version (Score:2)
Re:Just installed Win32 version (Score:2)
Nor understand relational database design...kind of like the nightmare ms access has given many of us. Geez...I'd often wished access had been banned from the desktop. I've had to inherit and straighten out so many access "databases" that some PHB started out messing with...usually with only 1 or 2 tables kludged together, that was passed around the office
Re:Just installed Win32 version (Score:3, Interesting)
I think there is some merit to this statment.
I'd love to see postgreSQL added to the xampp [apachefriends.org] package.
The nice thing about xampp is that you simply unzip it into a directory and suddenly you have a huge technology stack of apache, mysql, perl, php all ready to go for stand alone development.
I'm betting there are plenty of windows only developers that wouldn't mind giving either database a shot if they understood how easy it was to get started.
Re:Just installed Win32 version (Score:2)
That's for sure, you JERK!!!11!!1111111111!!!
Seriously though, I see it as positive that high quality open source projects are truly cross-platform and also include windows. Even if one is entirely anti-MS, it is still beneficial for that person's goal that there is a very easy migration path: move from OS software running on windows to the same OS software on linux/mac/etc.
Re:Just installed Win32 version (Score:2)
Not announced (Score:5, Funny)
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.
Re:Not announced (Score:2)
RC1/RC2 (Score:5, Informative)
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
Re:RC1/RC2 (Score:2)
I don't see what the big deal is. Then again I'm not a big Postgres user so I don't know if there's more to this than I'm realizing.
Re:RC1/RC2 (Score:4, Interesting)
In a shared database server, it can be important. Although it in a way is security-through-obscurity, many would rather not have their database name 'companyfinances' visible to those with no access. Additionally, on a shared database services, you don't want your customers to know if there are 20 or 200 databases on that server (the number means nothing depending on the size anyway, but looks bad).
-M
Re:RC1/RC2 (Score:2, Informative)
Chris
Re:RC1/RC2 (Score:2)
Re:RC1/RC2 (Score:2)
at last "SELECT ... FOR UPDATE NOWAIT" (Score:2, Interesting)
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 "S
Re:at last "SELECT ... FOR UPDATE NOWAIT" (Score:5, Informative)
Postgres docs actually have a chapter on this: Concurrency Control [postgresql.org]. Like most high-end databases Postgres can handle this situation in different ways, depending on how it is set up...
A database should never tell you that the data is not avalible. It should always give you the best version of the data it has.
Re:at last "SELECT ... FOR UPDATE NOWAIT" (Score:3, Informative)
If I understand your question, you're talking about data entry applications doing a "select ... for update" before making changes, waiting for the user to make them, then doing the update and commit. You want to know how applications avoided the "Modify record" page hang until another user was done prior to NOWAIT.
This scheme actually isn't that common. You don't want to block read-only operati
Re:at last "SELECT ... FOR UPDATE NOWAIT" (Score:2)
set statement_timeout = 200; -- 200ms
SELECT * FROM UPDATE; -- Waits at most 200ms
Catch the exception indicating the query was cancelled (row locked) or continue.
Not the greatest but it has worked well enough for me with a few hundred automated processes pulling things out of a queue several times per second.
EVIL functionality (Score:2)
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 a
Re:at last "SELECT ... FOR UPDATE NOWAIT" (Score:2)
It's pretty sweet (Score:3, Interesting)
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/ [blastwave.org]
Super! (Score:2)
MySQL vs. PostgreSQL (Score:3, Interesting)
Re:MySQL vs. PostgreSQL (Score:2)
But you're not going to find much looking for "Postgre". It's PostgreSQL or "Postgres" for short.
Just FYI.
Re:MySQL vs. PostgreSQL (Score:2)
However, if you look at the traffic on the PostgreSQL mailing lists and #postgresql on irc, I'm sure you'll find plenty of community members.
I would say that both databases are well beyond the "critical mass" of informed users to sufficiently support other users.
Re:MySQL vs. PostgreSQL (Score:2, Interesting)
If I used forum posts as any proxy, it would look like MySQL is dominant.
In the webhosting world that is the understatement of the year. In my business I have a little over 1000 mysql clients and all of 3 postgresql clients. I've been advertising Postgres along side mysql for 2 years now. Its not worth the space or staff training costs.
I think the problem was that postgres was always much more complicated to set up and it used to have some pretty serious performance problems in the real world. It was
Re:MySQL vs. PostgreSQL (Score:3, Funny)
kashani
Re:MySQL vs. PostgreSQL (Score:2)
If the site is very small and the database code is not particularly advanced, you might even do better with SQLite. However, this does require using PHP 5. If you're on PHP 4 or earlier, that's not an option.
Now, this changes dramatically if you need very advanced databas
Re:MySQL vs. PostgreSQL (Score:3, Insightful)
I'm not sure exactly what you mean by "dominant", since both databases are free, so neither takes sales from the other. Both are actively developed. PostgreSQL is IMHO better engineered and has more features, and has had them for longer. But postgreSQL has a reputation as not beeing as drool-proof as mySQL. I wouldn't know, I'v
MySQL is more popular (Score:4, Informative)
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?
Re:MySQL is more popular (Score:3, Informative)
That's certainly not true in the general case. There are many situations in which PostgreSQL will outperform MySQL on reads. Particularly if you need one of PostgreSQL's features to achieve reasonable performance.
Embedded version? (Score:3, Interesting)
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.
Re:Embedded version? (Score:2, Informative)
quick question. (Score:2)
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?
Re:quick question. (Score:4, Interesting)
However, there are more tools available for MS SQL, and there is some form of multi-master replication and probably better table partitioning. MS SQL is not really a bad database, but I think PostgreSQL has it beat except on those two points.
Any real performance analysis is heavily application dependent, however. If that's what you care about, you need to do your own tests.
Re: there are more tools available for MS SQL (Score:4, Informative)
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] [www.minq.se]
EMS Postgresql Manager
http://www.sqlmanager.net/products/postgresql/man
PHPpgadmin
http://sourceforge.net/projects/phppgadmin [sourceforge.net] [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] [ca.com]
CASE Studio 2
http://www.casestudio.com/enu/default.aspx [casestudio.com] [casestudio.com]
Postgresql has a vibrant tool community. If you want more info on Postgresql tools see
http://techdocs.postgresql.org/v2/Guides/PostgreS
Re:quick question. (Score:2)
What do you want to do with your database(s)?
How many users do you expect?
How many writes per second do you expect?
How many reads per second do you expect?
Are you comfortable with SQL?
What programming languages do you use to acess data?
How important is it to you to be flexible in what OS you run your DB on?
How important is cost to you?
Do you plan on running this on multipe processors or multi-core chips?
What rep
Re:quick question. (Score:4, Interesting)
2) It runs on every platform. SQL server only runs on windows. It's the only database in wisespread use that locks you to one operating system.
3) It has no limits on how much memory it uses. SQL server standard edition limits itself to 2 gigs as of SQL server 2K (don't know if they fixed that by now).
4) it supports text fields that are only limited by your OS and uses them extremely efficiently. These are not like SQL server blob fields but they are like HUGE text fields that can be indexed or used in aggregate functions.
5) It has user definable data types, user definable operators, user definable functions.
6) It can use perl, python, java, tcl or PG/Pqsl as it's stored procedure languages. YOu can also use C and even compile your C stored procs in with the server if you want super speed.
7) It has multi version concurrency control. This means readers never block writers, ever.
8) No lock escalation. SQL server users know the value of this, everybody else takes it for granted.
9) Lots of built in datatypes like arrays, IP address, geometric types, GIS types etc. Yes it's possible to write a query that asks "select all rectangles that contain this point" or "select all ip addresses in this address mask"
10) Support for hierarchies (in the contrib) so you can natually and intuitively model graphs without writing code or using complex self joins and such. Look up ltree.
11) A fantastic rule system. You can make anything look like a updateable recordset if you are willing to code it.
12) PostGIS.
I am just scratching the surface. I am sure I have missed some other features but that should whet you appetite.
It's incredible (Score:2)
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.
Awesome - later (Score:2)
/. Meta question: a wheelbarrow? (Score:4, Interesting)
Re:/. Meta question: a wheelbarrow? (Score:4, Insightful)
I assume it is from the William Carlos Williams Poem, Red Wheelbarrow [upenn.edu]
A database being the red wheelbarrow of course. Don't ask about the chickens.
Some ancient history (Score:4, Insightful)
Databases are often used for dead projects, buried under large mounds of data. The parallel would seem to be pretty exact.
Still no FULLTEXT indexes? (Score:3, Interesting)
Re:Still no FULLTEXT indexes? (Score:4, Interesting)
Take a peak in the contrib directory of the source tree for tsearch.
Documentation for TSearch [sai.msu.su]
Re:Still no FULLTEXT indexes? (Score:2)
Re:Still no FULLTEXT indexes? (Score:3, Interesting)
I normally attach it to template1 and tune it to my environment, then just basically forget about it.
However, I must say it's one of PG's big failures of marketing that it hasn't been included in default installations. I know the PG folks are perfectionists, and I love them for it, but in winning users over you would do well to keep websites in mind, almost all of which need an FTI.
Anyway, if you don't know ts
Re:Still no FULLTEXT indexes? (Score:3, Interesting)
Having used both MySQL and Postgres pretty close to each system's limitations, for years (~5 years in each case), I must admit that I now prefer PostgreSQL (again). I've gone back and forth.
One major problem with MySQL is that you have to choose EITHER fulltext indices OR transactional tables (InnoDB). You can't have both. With Postgresql, you can.
Oops... should be openfts.sf.net! (Score:2)
Oopsie.
If it's not default, it's not useful (Score:2)
Re:Still no FULLTEXT indexes? (Score:3, Interesting)
Oh, and if you want non-Java solution, there are several Lucene ports available: C++, Python, Perl, C#, Ruby...
OMFG!! (Score:2)
THANKYOU THANKYOU THANKYOU PostgreSQL team!!!
(I feel like a little kid who just got a new toy as a present).
Upgrading between 8.0 and 8.1 (Score:2)
Zero downtime Upgrading between 8.0 and 8.1 (Score:5, Informative)
wow, two phase commit (Score:2)
I saw that and it will help me a lot on the work, because my teacher loves postgreSQL as me
Re:Too big? (Score:3, Informative)
Re:Too big? (Score:2)
(3) SQLite lets me insert a string into a database column of type integer!
This is a feature, not a bug. SQLite does not enforce data type constraints. Any data can be inserted into any column. You can put arbitrary length strings into integer columns, floating point numbers in boolean columns, or dates in character columns. The datatype you assign to a column in the CREATE TABLE command does not restrict what data can be put into that column. Every column is able to hold an arbitrary length string. (There
Indeed, SQLite is an excellent choice. (Score:3, Informative)
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 c
Re:Too big? (Score:5, Informative)
sqlite is good. But it does require setup.
You still need to use CREATE TABLE, INSERTs and the like.
You need to connect to the thing in your code, with the same attendent problems as other connection strings. sqlite has a poor jdbc element, if java's your gig.
There are a couple of versions of sqlite. Be aware of this. There is sqlite and sqlite3. Note the jump there from 1 straight to 3. You'll need different DBD drivers there in Perl.
Also, there is no multiple write capability, so you have to synchrinise on this yourself. Who do you trust to write code for ACID commits? Yourself or say, the Postgres team?.
Where sqlite rocks is where the data is entirely read only, which eats out Mysqls lunch.
Also remember that sqlite and Postgres are not mutually exclusive.
In my sqlite setup, I deploy a sqlite database as a file for the fast read only webservers. Where is this data drawn from? My Postgres database with perl to generate the file. So you can get the UPDATE integrity of Postgres with the blazing speed and compactness of sqlite. This works where your application has discreet state where everything is consistent and you can batch update your sqlite.
Re:Too big? (Score:2)
Most small web-based database applications, just pulling product prices and descriptions with an occasional update, will work just fine with SQLite.
Re:Too big? (Score:2)
Re:MS SQL 2005? (Score:2)
Here Here!, TCO (Score:2)
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
Re:Here Here!, TCO (Score:2)
The report (made few years ago) is here:
http://dcdbappl1.cern.ch:8080/dcdb/archive/ttraczy k/db_compare/db_compare.pdf [dcdbappl1.cern.ch]
However the machine seems to be down right now, so google html version:
http://64.233.183.104/search?q=cache:ijRVyqqJ_8EJ: dcdbappl1.cern.ch:8080/dcdb/archive/ttraczyk/db_co mpare/db_compare.pdf+dcdb+postgresql+mysql&hl=en&c lient=firefox-a [64.233.183.104]
Simple workaround... (Score:2)
"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
Re:MS SQL 2005? (Score:2)
Re:MS SQL 2005? (Score:2)
Re:MS SQL 2005? (Score:2)
Re:Postgresql for large databases (Score:2, Insightful)
For details, see
http://www.powerpostgresql.com/Downloads/terabyte
Re:The inherit bug? (Score:2)
do features like that really get used in the real world? I'd file it under "clever" (or maybe "too cute by half"), but I can't see myself opting for "table inheritance" over a standard SQL design.
Re:The inherit bug? (Score:3, Informative)
"do features like that really get used in the real world?"
I'm with you on that question. These, well at least Postgres, are Relational Database Management Systems. They're not object databases...and IMHO, it isn't worth messing with them in that fashion. Set it up as a relational database, and let your middle tier deal with the object to relational conversions as needed if you use object oriented programming. If not...then, use an object oriented database...
Re:The inherit bug? (Score:5, Informative)
In fact, the PostgreSQL team has been musing for years on whether to drop object inheritance completely, because it just muddies the waters of relational design, and causes implementation details to affect logical design.
But interestingly, table inheritance has become a solution to a lower-level implementation problem: "horizontal" table partitioning. Using inheritance together with tablespaces (available since 8.0), you can break a large table into multiple subtables, each on a different physical storage device, then make a table that inherits from them all to present unified querying to the whole range of data. This is a *big* advantage for very large databases.
Re:The inherit bug? (Score:2)
That said, I still can't see using the feature, probably too stuck in my (old) ways for it.
Re:Article text for your convenience (Score:2)
Re:Article text for your convenience (Score:2, Informative)
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 [sourceforge.net].
Re:Headline wording (Score:2)
C'mon, it's tools, not religion. And if it is religion, then go set up some faith based software community and see how far that gets you.
because only one was actually late (Score:3, Informative)
Read the writeup, dipshit (Score:3, Informative)
When Debian Sarge was finally released, the slashdot writeup went so far to assert that "Hell has officially frozen
Re:CentOS (Score:2)
Re:DB wars? (Score:2)
Re:Firebird already does all of this (Score:3, Insightful)
It's hard to get more attention if your "competitors" are of PostgreSQL caliber. Postgres do major releases every 6-12 months and is getting better all the time at faster rate. It's getting picked up by companies and has the strongest open source support around it.
Meanwhile, when will FB 2.0-final be released? When will I be get
Re:Firebird already does all of this (Score:2)
Then, i go to the Firebird site and search for documentation and it's not easy to even have a glance at what a Firebird stored procedure looks like.