Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Interview with Josh Berkus of PostgreSQL

timothy posted more than 9 years ago | from the that-bird-is-certainly-peeved dept.

Databases 41

SilentBob4 writes "The PostgreSQL database project has recently released Version 8.0, which was received with quite some fanfare, mostly due to its first-ever Windows port. Mad Penguin talked with Josh Berkus, one of the core team members, to find out how 8.0 has fared since its official release on January 17, 2005. Full interview."

Sorry! There are no comments related to the filter you selected.

Ever since I ran into unicode ... Pgsql has rocked (3, Informative)

Gopal.V (532678) | more than 9 years ago | (#11950720)

Being an Indian and all that, I'm very much concerned about unicode sorting/collation kind of thing. Postgres has the best unicode support I've ever seen.

Ever since I started using transactions in pgsql, I haven't looked back to mysql land. All I now need is the Postgres-R (replication) stuff to work out of the box (like it does for mysql). I don't know if transaction speeds might be hit by replication or not.

Also great win32 installer - thank god the pgsql jdbc components aren't GPL. (it's a thin edge of the wedge to get it used for in house projects).

Re:Ever since I ran into unicode ... Pgsql has roc (4, Informative)

rtaylor (70602) | more than 9 years ago | (#11950809)

All I now need is the Postgres-R (replication) stuff to work out of the box (like it does for mysql).

Look into Slony. It's an addon project, but replication for PostgreSQL will always be an addon so that it works across multiple backend versions.

It's fairly straight forward to setup a master/slave scenario, and PgAdmin is currently working on GUI tools for managing it.

Re:Ever since I ran into unicode ... Pgsql has roc (3, Informative)

nosferatu-man (13652) | more than 9 years ago | (#11950819)

All I now need is the Postgres-R (replication) stuff to work out of the box (like it does for mysql).

Don't bother with Postgres-R -- use Slony. It works fantastically well.

Re:Ever since I ran into unicode ... Pgsql has roc (1)

jalet (36114) | more than 9 years ago | (#11951391)

> thank god the pgsql jdbc components aren't GPL.
> (it's a thin edge of the wedge to get it used for
> in house projects)

Please read the GPL.

In house projects are NOT considered as redistribution of the code, so you can keep your changes for yourself.

Re:Ever since I ran into unicode ... Pgsql has roc (2, Insightful)

jilles (20976) | more than 9 years ago | (#11955947)

Doesn't matter, the perception is that GPL is limiting redistribution (which it is, even if you are right). If you want choice in the matter (and most companies do), the GPL is not for you. Example, you have a bunch of propietary extensions to some GPL project and you are using it internally (so far so good you say). Then some partner company asks for permission to use your tool. You don't say no to friends so you want to give the software to them. Price is not the issue but opening up the proprietary stuff is. The GPL forces you to choose here and that is a very sound reason to not touch any GPL software that you want to extend.

Of course it is no argument to not use GPL software at all. GPL software is a key component of my development tool chain as I am sure it is for many others. And of course it is no argument against working on GPL projects either. It's not even an argument against the GPL. It's just that other licenses are a bit more flexible in what you can and cannot do. Many companies want this flexibility.

How to treat one's friends. (1)

jbn-o (555068) | more than 9 years ago | (#11960482)

Doesn't matter, the perception is that GPL is limiting redistribution (which it is, even if you are right). If you want choice in the matter (and most companies do), the GPL is not for you. Example, you have a bunch of propietary extensions to some GPL project and you are using it internally (so far so good you say). Then some partner company asks for permission to use your tool. You don't say no to friends so you want to give the software to them. Price is not the issue but opening up the proprietary stuff is. The GPL forces you to choose here and that is a very sound reason to not touch any GPL software that you want to extend.

What a funny use of "friends"--it's okay to leverage one's power to exclude some "friends" from inspecting, distributing, or building further on an improved PostgreSQL, but it's bad to keep other "friends" from linking a GPL-derivative with GPL-incompatibly licensed programs.

Perhaps more organizations should learn who their real friends are and pay for the program under a free software license so they can build on the GPL'd programs they wish and distribute their improved versions. What's remarkable about all this in the context of PostgreSQL is that the companies doing work with PostgreSQL cited in this interview (and some other consultants I know of) make their money from selling PostgreSQL-related services.

The GPL doesn't deny anyone "choice". One must choose to distribute the work; one should choose to comply with the licensing terms under which the work is made available to them particularly because they're so generous. The GPL places conditions on distribution so that nobody can exert power to restrict what receipients can do with the software down the line. It's funny how the concept of share-and-share-alike is so easily perverted into something limiting when software is viewed through the false dichotomy of being either a gift to society (as PostgreSQL is) or proprietary.

Inspecting my enterprise? (0)

Anonymous Coward | more than 9 years ago | (#11965506)

No, thanks.

It's my professional secret since 1820.

And, why not to Redmond's Microsoft?

Re:Inspecting my enterprise? (1)

jbn-o (555068) | more than 9 years ago | (#11967279)

I'm talking about leveraging the freedoms of free software for software, not the entirety of one's business or home. Anyone who takes their business seriously takes seriously the idea of not leaving their "enterprise" in the hands of an organization that can afford to do without one's business. Lots of American businesses run Microsoft software and are foolish for doing so because it means that those businesses care more about Microsoft's welfare than Microsoft does about the welfare of most of their clients.

Re:How to treat one's friends. (1)

ShieldW0lf (601553) | more than 9 years ago | (#11982961)

The GPL doesn't deny anyone "choice". ... The GPL places conditions on distribution so that nobody can exert power to restrict what receipients can do with the software down the line.

You do realize that these are contradictory statements, don't you?

Re:How to treat one's friends. (1)

jbn-o (555068) | more than 9 years ago | (#11985518)

Not if read in the context of the thread -- one cannot have all possible freedoms and powers because some conflict (paraphrasing the FSF's example: my freedom to walk down the street in safety versus your power to drive your car anywhere you wish). So, societies have to decide which are worth more and in what context. The FSF decided that the freedoms of free software are so important that they wanted to preserve them for all recipients of a GPL-covered program and any derivative of that program. When someone strips away the software freedom from a program they are restricting what recipients of that program can do with the program. The GPL says that this is not allowed; the GPL leverages the power copyright law gives a copyright holder to place conditions on distributing a copyrighted work to say you can't deny others the freedom you have with the program (hence the "share and share alike" quality of the license).

Re:Ever since I ran into unicode ... Pgsql has roc (1)

Drantin (569921) | more than 9 years ago | (#11951573)

If it's in-house, can't you use GPLed software for whatever you want? So long as you don't try to redistribute the in-house software(gratis or for payment) without the sourcecode, why would the GPL make any difference?

Replication (0, Redundant)

Pan T. Hose (707794) | more than 9 years ago | (#11956345)

All I now need is the Postgres-R (replication) stuff to work out of the box (like it does for mysql). I don't know if transaction speeds might be hit by replication or not.

From the interview [madpenguin.org] :

One other question that I would like to answer is replication, because I get this question all the time: unlike some other database systems within PostgreSQL, replication is an add-in. It's a separate application. That isn't an accident. It's done on purpose.

There are several reasons for that. One is that replication is actually not a single feature. It is a set of four or five different related implementations, which serve four or five different needs. As a result, we don't want to bundle one particular kind of replication with the main database, because that's not suitable to all users. Our leading replication project, in terms of popularity, is something called Slony-I, lead by Jan Wieck, who is also on the Core Team. That has actually been quite popular as one of the leading master-slave high availability replication systems of any kind. Jan is currently working on Slony-II, which will be synchronous multi-master replication for database server clusters. Based on the pace of his past work, I would anticipate that it would be available in about a year or so. But don't look for that information in the main release notes for PostgreSQL, because it will always be a separate parallel project. [emphasis added]

In other words, just use Slony-I [slony.info] . From the overview [postgresql.org] :

Slony-I was born from an idea to create a replication system that was not tied to a specific version of PostgreSQL, and allowed to be started and stopped on an existing database with out the need for a dump/reload cycle.

Slony-I is a "master to multiple slaves" replication system with cascading and slave promotion. The big picture for the development of Slony-I is a master-slave system that includes all features and capabilities needed to replicate large databases to a reasonably limited number of slave systems. Slony-I is a system for data centers and backup sites, where the normal mode of operation is that all nodes are available.

See also the basic documentation [postgresql.org] . For more technical details dewnload the design document [postgresql.org] (PDF). For an excellent introduction make sure to read Introducing Slony [onlamp.com] by A. Elein Mustain on ONLamp:

Slony-I, the first iteration of the project, is an asynchronous replicator of a single master database to multiple replicas, which in turn may have cascaded replicas. It will include all features required to replicate large databases with a reasonable number of replicas. Jan has targeted Slony-I toward data centers and backup sites, implying that all nodes in the network are always available.

The master is the primary database with which the applications interact. Replicas are replications, or copies of the primary database. Since the master database is always changing, data replication is the system that enables the updates of secondary, or replica, databases as the master database updates. In synchronous replication systems, the master and the replica are consistent exact copies. The client does not receive a commit until all replicas have the transaction in question. Asynchronous replication loosens that binding and allows the replica to copy transactions from the master, rolling forward, at its own pace. The server issues a commit to the master client based on the state of the master database transaction.

It is a great introduction.

Personally, as far as the distributed environments go, I am really looking forward to use two-phase commit [cmu.edu] , also mentioned by Josh Berkus in the interview.

Re:Ever since I ran into unicode ... Pgsql has roc (0)

Anonymous Coward | more than 9 years ago | (#11957494)

Take your anti-GPL FUD and stuff it.

Incentive to switch (2, Insightful)

poopdeville (841677) | more than 9 years ago | (#11950982)

From TFA: I think that the thing that lots of open source projects have learned, and that those that haven't should learn, is the simple fact that millions of people use Windows, and millions of people use only Windows. If you don't have a port to that platform, you have denied them access to your project.

I think this is interesting. Now, I'm no PostgreSQL cheerleader, but they're certainly one of the top open source projects going around. It seems to me that if the PostgreSQL team had leveraged their position and spent more time developing for open operating systems, businesses would be given the incentive to switch. Instead, they've chosen to accomodate the enterprise windows crowd. Of course, this will be great for their marketshare. But it just seems like a missed opportunity given the bigger picture.

Re:Incentive to switch (0)

Anonymous Coward | more than 9 years ago | (#11951036)

The interviewee had a strong answer to this point.

I think the reality is that Postgres has a hard enough time "leveraging" mongos off MySQL, much less getting them to change their OS environment.

Re:Incentive to switch (2, Insightful)

Anonymous Coward | more than 9 years ago | (#11951167)

But they have nowhere else to go. The unwashed masses are using MySQL everywhere for running millions of blogs and messageboards. The average Linux user clings to MySQL like Windows users cling to Microsoft Office - unwilling and unable to take a second glance at anything else.

PostGres coming to Windows is good - because trying a new application is easier than trying a whole new operating system. Once someone knows what your app is, there's going to be far less resistance to trying it out on another OS. The pull is the app, a new OS is unfamiliar and scary. Once they know the app, the OS choice becomes less important and less scary because there's now something familiar there.

In other words, I think that a Windows port is healthy and will - in the long term - help to grow the number of open OS users of PostGres. (Because they start thinking "hey, I can run my cuddly PostGres database on Linux", not "I don't want to install Linux to try PostGres").

Re:Incentive to switch (1)

rnd() (118781) | more than 9 years ago | (#11952269)

Any mysql junkies out there should give PostgreSQL a try! Write a few functions and see how nice it is to make your db code modular, something mysql unfortunately cannot do in its current stable release.

Re:Incentive to switch (2, Insightful)

ctr2sprt (574731) | more than 9 years ago | (#11951177)

Let's do unto others, here. Most Slashdotters prefer open source operating systems, but a lot of us are forced to use Windows because we need some program that only runs there. So we all beg developers to release Linux versions of popular programs and dream of a day when one app runs on all operating systems.

Since we know the pain of being forced to use an OS we dislike, let's try to be the Better Man here. If the tables someday turn, let's continue to encourage that apps get ported to every OS under the sun. Not because it helps us (it wouldn't, in this hypothetical world), but because it's the right thing to do.

By the same token, I support the PSQL folks porting their excellent software to Windows. Let those who, for whatever reason, want to run Windows make that choice themselves and still be able to run PSQL.

Re:Incentive to switch (4, Insightful)

cakoose (460295) | more than 9 years ago | (#11951467)

It seems to me that if the PostgreSQL team had leveraged their position and spent more time developing for open operating systems, businesses would be given the incentive to switch. Instead, they've chosen to accomodate the enterprise windows crowd.

This argument made its rounds a while ago. I think it was when a prominent KDE developer write about how it was a bad idea to port applications to Windows. The counter argument is that they're letting people switch to open source software a little bit at a time (which is easier). Once people are comfortable with using cross-platform applications exclusively, the Windows platform no longer has an unfair advantage. At that point, different operating systems can be judged on their own merits, instead of simply on the availability of application software.

Re:Incentive to switch (1)

IainHere (536270) | more than 9 years ago | (#11951593)

Of course, this will be great for their marketshare. But it just seems like a missed opportunity given the bigger picture.

But let's not worry; it's too late now. It'll always be too late. Fortunately!

(If you don't get it, don't mod)

Fatal Flaws (4, Interesting)

Red Pointy Tail (127601) | more than 9 years ago | (#11951008)

There are fatal flaws in this version of 8.0 that makes it practically unusable in Win32 for me.

Firstly, the broken Unicode support, which arose because certain collation functions doesn't work well on UTF-8 (PostGre uses UTF-8, Win32 prefers UCS-2). The tone you get from reading the bug/support forums are disdainful, pointing the problem to Win32 libraries and suggesting that it should not be in the confines of the PostGres team to fix Windows bugs. Nevertheless, if they already put so much effort to porting to Win32, it seems strange that they are adopting such a stance instead of proactively trying to fix that problem.

Secondly, there is no support for the Win1252 code page, which is very commonly used in English Windows, while mind-bogglingly, there seem to be all other code-pages from Cyrillic to Arabic. This makes migration of data from SQL Server very difficult, and using Latin-1 doesn't help when it encounters characters like `. Yes, Windows should be whacked on the bottom for introducing such shitty incompatibilities but that doesn't solve the problem. The other solution to this problem - to convert to UTF-8 instead - is unavailable because of first problem.

I have been trying to persuade my company to shift from SQL Server to PostGreSQL on Windows (for some reasons, we cannot move over to Linux yet). But after hitting these brick walls - I've giving up. Here's to hoping!

Re:Fatal Flaws (0)

Anonymous Coward | more than 9 years ago | (#11951867)

It's not PostGre, PostGres, or PostGreSQL - it's PostgreSQL (perferred), Postgres (short), or pgsql (abbreviated).

Re:Fatal Flaws (0)

Anonymous Coward | more than 9 years ago | (#11952117)

It's not PostGre, PostGres, or PostGreSQL - it's PostgreSQL (perferred), Postgres (short), or pgsql (abbreviated). You forgot about psql, the standard PostgreSQL's command-line frontend. I don't know how many times I thought that the PostgreSQL installation failed after writing "pgsql" only to get "bash: pgsql: command not found."

Fatal Flaws??? (0)

Anonymous Coward | more than 9 years ago | (#11952025)

You have got to be kidding. Those "fatal flaws" are nothing compared to MySQL "gotchas [sql-info.de] ." Talk about bias...

Re:Fatal Flaws (1)

HeadDown (639182) | more than 9 years ago | (#11952076)

You might want to give Ingres r3 a spin. It doesn't have the fancy postgresql object-relational features, but it performs well under both Linux and Windows.

Re:Fatal Flaws (1)

bartok (111886) | more than 9 years ago | (#11953246)

"certain collation functions doesn't work well on UTF-8"

Would you care to be mopre specific? Is it a bug in their implementation or a limitation of UTF8 itself? (and if so, explan why)

Re:Fatal Flaws (3, Informative)

Red Pointy Tail (127601) | more than 9 years ago | (#11954190)

Read from the horse's mouth: see section 2.6 [postgresql.org] . I don't know about you but I think it is a pretty big flaw if a database cannot support Unicode. Note that I meant only the Win32 port - UTF-8 works fine in other ports.

First Windows port? (3, Informative)

Anonymous Coward | more than 9 years ago | (#11951082)

mostly due to its first-ever Windows port.

No, PostgreSQL has been working on Windows for years. This was just the first version where Windows was an officially supported platform.

Re:First Windows port? (2, Informative)

Red Pointy Tail (127601) | more than 9 years ago | (#11951115)

Actually, PostgreSQL has always been officially available for Windows, but before V8.0 it runs under Cygwin, so performance sucks. Version 8.0 is re-written (I assume, with an OS abstraction) so that on it calls Win32 directly instead of through Cygwin.

Whether the former constitutes a 'Windows port' or not is semantics.

Re:First Windows port? (2, Informative)

Khazunga (176423) | more than 9 years ago | (#11951984)

Nope. during version 7 there were unofficial builds of pgsql for windows that ran without need for Cygwin.

It sure feels like a "First Windows port" (1)

TheReal_BarkMan (779113) | more than 9 years ago | (#11954017)

It sure feels like a first port...

I consider myself to a competent developer with some SQL skills and bit of DBA knowledge albeit mainly in MSSQLServer.

The PostgreSQL 8.0 for windows installation process was very difficult and ultimately unsuccessful. Anyone who uses the Win platform for development will reject PostgreSQL like I did due to difficult getting it up an running.

I am looking forward to PostgreSQL maturing relative to the windows port. Let's hope the team feels the same way!!

Re:It sure feels like a "First Windows port" (3, Informative)

Red Pointy Tail (127601) | more than 9 years ago | (#11954121)

The PostgreSQL 8.0 for windows installation process was very difficult and ultimately unsuccessful.

You got to be kidding right? There is a packaged Windows installer for 8.0.1 [postgresql.org] , and as database installer goes, this got to be one of the most no-brainers around. It even installs the documentation, pgAdminIII and the necessary ODBC and OLE-DB drivers.

Re:It sure feels like a "First Windows port" (1)

gyg (785962) | more than 8 years ago | (#12025479)

Not sure what you are talking about. The most fancy DB I ever used before was MS Access (OK, so kick me;)), but Postgres for Win installer installed like a charm and caused no problems since.

I haven't found a graphic query editor analog to MS access's one yet, but I guess it's a matter of different style - scripting instead of GUI. But installation? A breeze.

Kudos to Josh and the PostgreSQL team! (3, Interesting)

Anonymous Coward | more than 9 years ago | (#11952060)

I would like to use this opportunity to say this: Kudos to Josh Berkus and the entire PostgreSQL team! I hope you are reading this. You have done an absolutely amazing job with your database. It is the only Free Software RDBMS that I believe can be compared with Oracle. This is hardly the first Free Software RDBMS I used but it is the first one that actually works as it should, respecting standards and relational model with full ACID support (*cough*cough* [sql-info.de] ). This is also the fastest Free Software database when you are doing any serious inserts/updates-heavy transactions on large data sets with consistency being the top priority. Kudos! You guys rule! I believe that your project should be a de facto standard in Free Software world. Keep up the good work.

Re:Kudos to Josh and the PostgreSQL team! (2, Funny)

duffbeer703 (177751) | more than 9 years ago | (#11953146)

Who needs data integrity.

MySQL can run SELECT * faster than any database anywhere

Re:Kudos to Josh and the PostgreSQL team! (0)

Anonymous Coward | more than 9 years ago | (#11953219)

Who needs data integrity.

Anyone who has important data.

MySQL can run SELECT * faster than any database anywhere

Not true. SQLite is faster. And it has ACID transactions. *sigh*

Re:Kudos to Josh and the PostgreSQL team! (2, Insightful)

Mr. Slippery (47854) | more than 9 years ago | (#11954724)

Who needs data integrity.

Uh...everyone?

MySQL can run SELECT * faster than any database anywhere

Without data integrity, that just means you can get a wrong answer very quickly.

Re:Kudos to Josh and the PostgreSQL team! (1)

bedessen (411686) | more than 9 years ago | (#12052308)

*ahem* it was sarcasm *ahem*

There is a buzz around (3, Interesting)

WebHostingGuy (825421) | more than 9 years ago | (#11955333)

I have seen that there seems to be a buzz around Postgresql over the last few months. More and more people are requesting Postgresql in web hosting. It seems that this is not a substitution for MS SQL but people are migrating from MySQL to Postgresql for one reason or another. Granted this is just one perspective from a web host and not scientifically significant.

Re:There is a buzz around (1)

kimanaw (795600) | more than 9 years ago | (#11962212)

Perhaps most interesting (esp in comparison to MySQL) is the number of large scale datawarehouse startups embracing Pg (Netezza [netezza.com] , Metapa [metapa.com] , among others). While they may have a way to go to play with the big boys, the fact they chose Pg should be of interest to any IT dept. making a decision about which OSS DBMS to commit to.
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?