After more than a year of hard work, the PostgreSQL Global Development Group has proudly announced the release of version 8.0.0 of the PostgreSQL ORDBMS. This release involves possibly more major changes than any prior version of PostgreSQL since 6.3, and it is the first PostgreSQL release to natively run on Microsoft Windows as a server. You can read the complete announcement and download it from any mirror or using BitTorrent.
i’ve used mysql on linux for a few years now. i’m curious to see what postgresql behaves like in the speed department.
I’m developing several websites for large congresses throughout the world. I initially used MySQL, but I quickly discovered that there was a lot of stuff missing: nested queries (select xxx from yyy where aaa in (select aaa from zzz)), referential integrity, views, stored procedures, …
With MySQL, I had to write all kinds of procedures in PHP to delete related records when the main record was deleted. The lack of views was also a pain, not to mention the nested queries I was so accustomed to using in my previous database (Interbase / Firebird).
Although PostgreSQL seems a bit slower, peak moments are handled wonderfully. And it’s stable like hell. I definitely recommend everyone using it. If only all hosting providers would support it: I had to put a lot of pressure on my provider before they allowed it on their servers.
I have enjoyed MySQL over the years, but have been tinkering with Postgres the last couple of weeks.. I wish I could make a complete switch to Postgres but my ISP does’t support it.. common story.. maybe an ad/publicity campaign could change that?
Save points and table space and improved alter are really worth the upgrade.
yes, now the hard part is making the providers support it also…
anyone is aware of the postgresql licenses? how does it compare to mysql licenses in terms of installing it on comercial servers?
As far as I know it is under a BSD like license…so the answer to your question would be that it is even more suited to commercial use with non-free software when it comes to licensing.
I’ve used PostgreSQL for about 2 years now. I never really noticed a problem with speed, and I’ve never once had it die on me. It is very stable.
I like PostgreSQL much better than MySQL because it supports things like tranactions, views, stored proceedures, and so on. Unfortunately, as others have pointed out, it is not commonly available with hosting companies.
I’ve started with PostgreSQL when it was in version 6.x something, although many folks tried to convenience me that PostgreSQL is just to damn hard and slow I found it mostly to be just FUD.
The only frustrating thing is that the are not enough ISP’s supporting PostgreSQL, but then again building websites is not like building a serious database app either… so MySQL is just fine
but then again building websites is not like building a serious database app either… so MySQL is just fine
—–
wrong. thats relative. some websites are more important than your serious database app and they happen to be using MySQL like the world’s largest website in terms of user traffic http://www.yahoo.com
their whole ecommerce transcations are on top of MySQL and its estimated worth runs into billions of dollars. the whole ecommerce website itself can be called a database app. your point is thus incorrect
mySQL being faster than PostgreSQL is mostly an outdated notion anyway. It was true back in the PostgreSQL 6 days, and has been held as a truism since. I find there’s no longer any big difference, and in many cases, especially under heavy load, Postgres is faster.
Add to that PG’s superior interactive console, transaction and referential integrity support, saner authentication system, and a lot of other things, and the case for PostgreSQL seems pretty clear.
If your web hosting company doesn’t support it, get a coloed box, or get a hosting provider with clue.
From y point of view it depends on the complexity of what you are trying to achieve. If you just need to handle a lot simple transactions, fine, but if your needs are more complex, then MySQL is not a good solution.
I also seriously doubt that MySQL database is the only database being used by yahoo for their ecommerce.
This is largely variable based on server load. From what I have seen, since 7.1, MySQL is faster with light loads. When there are light loads and few concurrent users, MySQL is faster, but as the load increases, and especially after there are more than 5 concurrent queries (which takes 30-40 clients on a web bench to really achieve) PostgreSQL handles this better. The speed differences with the small loads are minimal, and the additional features of PostgreSQL, especially views, make it worthwhile. I have done several projects where the whole thing was just a migration from MySQL to PostgreSQL for the additional features. A popular reason for this is that the web application also has access from fat clients or spreadsheets. Views make it easier for end users to read the data, and the user ID management is simple.
I also seriously doubt that MySQL database is the only database being used by yahoo for their ecommerce.
—-
yes it is. jeremy from yahoo has a widely popular blog. google it for details
One wonders how many fewer servers Yahoo would have required to get that going in PostgreSQL… just think of all the extra server <-> server traffic required to perform logic and integrity functions by doing them in PHP as opposed to Stored Procs. Sure they will be on a fast network but the RPC required to do it will still be orders of magnitude slower.
I don’t use product becouse it is full-featured. I use it if it scratch my itch. That’s why I use MySQL. Its missing ton of various things, but I cheked my list: Fulltext, Spatial, Fast, Free, Unicode, Community, Lin/Win. MySQL was clear winner. The worst part of MySQL for me is in “Free” section, but anyway, it fits better my combined needs then anything else outthere. Everyone has own list of must-haves, so it is just stupid to recommand switching from MySQL to PostgreSQL as a general rule.
This debate has been going on for ages; I think it is quite obvious when to use which: if you are making a web application in PHP that just needs a simple kind of storage, then you can rely on MySQL to be the easiest way of getting your application working on the net.
If on the other hand you are looking to make an application (Web or not) that relies on a database that has more internal structure, PostgreSQL is much more robust, easy to use and your application as a whole is likely to be faster. So I usually go for PHP/MySQL or Java/PostgreSQL.
I suspect that having a Windows version of PostgreSQL will attract many people and there will be more PHP/PostgreSQL apps in the future.
Postgres would be a lot more popular for ISPs if there was an equivalent to phpMyAdmin for it. Unfortunately, phpPgAdmin, the closest thing, is still WAY behind phpMyAdmin in terms of what you can do and how forgiving the pages are. Trying to create a table can be painful if you don’t know what you’re doing.
One wonders how many fewer servers Yahoo would have required to get that going in PostgreSQL… just think of all the extra server <-> server traffic required to perform logic and integrity functions by doing them in PHP as opposed to Stored Procs. Sure they will be on a fast network but the RPC required to do it will still be orders of magnitude slower.
—–
wrong kind of logic. yahoo has great amount of in house expertise with MySQL. even suggesting that you know better than them to implement those stuff in PostgreSQL is ridiculous.
postgres might be technically better in a few areas but dont be fooled into thinkin that its the only thing that matters
>yes it is. jeremy from yahoo has a widely popular blog. google it for details
Dear Anonymous (IP: 61.95.184.—),
would you mind posting some links yourself, instead of inviting people to “google”?
I’m asking you because it once happened that somebody anonymous, from your same IP subnet (IP: 61.95.184.—) was blatantly caught to spread FUD over a BSD-licensed product, using a very similar statement. Here:
http://www.osnews.com/comment.php?news_id=9165&offset=98&rows=105
Now, I must make an effort to be positive and assume that person it’s not you.
But, given this nasty precedent, could you please substantiate your claims?
Thanks in advance.
There have been a lot of FUD about MySQL not supporting transactions, nested query, “not Free”, etc. Please people, do yourselves a favor and evaluate both for yourselves instead of heeding the words of the fanboys from both sides here. Both are very, _very_ successful database projects and both have pluses and minuses.
For Yahoo! Finance (where MySQL is most known to be used), I think what matters most is speed for doing simple queries. MySQL is very appropriate here. Also Yahoo! might decide to choose MySQL several years ago when PostgreSQL is a bit lacking in the speed area. So their decision to choose MySQL is right, I think. But if they had to decide now, maybe they need to look at PostgreSQL more.
The same applies to Yahoo!’s decision to choose FreeBSD back in 1992-1993 (?). Back then, Linux is by far not as stable or as fast as it is now. If Yahoo! had to choose their server OS in, say, 2002 or more recently, it _might_ have been Linux.
Does MySQL support ACID properties really?
I used to be a mysql user only but had need of some of the more powerful features offered by postgres. Mysql is quickly offering a lot of those features but it still has some ground to catch up.
That said Mysql is great. The SQL syntax is easier, but this is also one of it’s faults as well, it’s not nearly as SQL compliant as postgres.
So go with what you like. I think Mysql may be easier to learn on and it’s certainly been proven to work in some pretty large environments as well. Postgresql has an unbeatable feature set, reliability, etc but it’s not quite as easy to setup (YMMV).
In the end it’s just nice to have such good OSS database offereings (a long with the twenty other ones).
I think it’s quite relevant to include Firebird if the intention is to compare OSS databases.
As far as I know, people tend to go for MySQL for simplicity but that both FB and PG completely outrun My in terms of flexibility.
Hasn’t aslo MySQL gained far too many users by the LAMP combination where there is severel Content Management Systems available for free that runs on top???
isn’t Ingres http://opensource.ca.com/projects/ingres/ another free open source database? I haven’t read through the license…
>Postgres would be a lot more popular for ISPs if there was an
>equivalent to phpMyAdmin for it. Unfortunately, phpPgAdmin,
>the closest thing, is still WAY behind phpMyAdmin in terms of
>what you can do and how forgiving the pages are.
I do not agree with that lots of ISP i know prefer MySQL because its more used/has more app support and is less memory and cpu comsuming than PostgreSQL.
>Trying to create a table can be painful if you don’t know
>what you’re doing.
Trying to drive a car can be painfull if you do not know what you are doing. It is true for everything.
For the first time I’m installing this famous database. I like what I see. I’m now about to setup pg_hba.conf correctly so I can connect remotely.
He was the founder of both those projects and now is at a new and interesting company called StreamBase…
http://www.streambase.com/www/about/index.html
Just as an exemple of why one may choose PgSQL over MySQL, my experience have been quite educative.
Coming from an Oracle background(in telecom world), I’ve long been used to design table/constraints and all the entity/relation and Codd stuff before creating any table.
From there views, requests … then code and generaly a few helping additionnal request/table/views and a few stored procedure to optimise a few tasks(mostly triggers).
Of course having a database that enforce relational rules is a great help when designing applications in this traditionnal way.
Then in 2000/2001 I had to migrate some applications from Oracle to any free database that would not oblige us to pay tons of money to Oracle for secondary functions. So we tried to use MysSQL.
Trying to make things work on MySQL has been a huge pain, complex queries where returning empty results because they where using to many joins or non supported SQL dialect. This policy of empty results instead of error messages was very annoying. After a month of trial, we moved to PgSQL that provided us with a very stable, standard implementation. It proved to be very scalable and even quicker than Oracle on some heavy processing.
For us, MySQL would have required that we implement in client code many of the constrainst and features that would have to be implemented in some scripts used for batch work, web front end and a few fat clients.
With Pg migration was mostly a rewrite of Oracle specific type and porting some PL/SQL.
But, I’ve found that for developpers that tend to be less database oriented in their background find often easier to write and maintain code that heavily loops into simple MySQL results. And, to my surprise, it has sometime been quicker than a more “orthodox” database use.
I know MysSQL has progressed much, but last time I checked (last summer) it was still far behind in ease of use for someone used to “traditionnal” databases.
Anyway native Windows support for Pg is great news and most the changelog is very promising (changing row type with ALTER TABLE and TABLESPACE support have been long awaited features).
Thanks again to PgSQL team.
Since 1997 been using it and there’s no reason to change
PostgreSQL just ROCKS !
I think MySql is a fine database, but PostgreSql has a few advantages. The new version of MySQL and InnoDB database has also Stored procedures and referential checkiing.
PostGres has the big advantage that is has MVCC, instead of Locking for concurence transactions. That is the reason why Postgres is fase on havy load comparing to MySQL. I just wondering wat the spead difference is between MySql InnoDB tables and PostGreSql. As I understand correctly the ISAM tables where faster because there was not transaction.
There are only a few high end databases with MVCC. I think only Oracle has it, DB2 and MSSQL doesn’t have MVCC. Doe firebird has MVCC, i thought it has. There is a bit of difference how MVCC is handeled. Oracle has a special Rollback segment, wich lead to the dreadfull ‘snapshot to old’ problem.
Oh yes Postgres has also a more flexibel typing system and has also inheritable tables and t has also a ‘rule’ system wich verry usefull.
I started developing for version 8.0 already in June 2004, and even the first beta, released in August, seemed rather stable and fully usable. The PostgreSQL team have worked hard to release the five betas and five RCs.
My question: Is five months of public beta testing really enough to ensure a stable and successful product? I cincerely hope so, and time will show…
MySQL’s speed advantage only apply to simple queries. As soon as the InnoDB functions are used the MySQL speed differentiation all but dissappears, and in many cases Postgres comes out faster. Choose the right product for your task. No one cares what database you are using so long as you get the results you were looking for what difference does it make. We need to stop this silly fanboy crap.
It’s a shame to see many open source projects getting ported to Windows: PHP, mysql, mozilla… you name it. Even KDE is getting ported to Windows.
I ask you this: how will a *nix OS ever get popular if this keeps up?
If these apps stay *nix based only, more developers (php, mysql, and such), ppl who love choice and security (mozilla) and so on will (at least try) to switch to Linux/*BSD. Maybe then Big Shots like Adobe, Macromedia etc. will take Linux seriously, and possibly port their software to Linux.
So, I beg the developers of various open source projects: PLEASE DO NOT PORT YOUR SOFTWARE TO WINDOWS!
Thank you.
PS Congrats Postgres!
I for one am glad these apps are available on Windows. I don’t want to have to run some UNIX, Linux or BSD variant to develop for MySQL, Postgres, Apache or any other popular package. I want to be able to do everything that I do in my regular every day life. I want to play games. Decent games, recent games. I want to be 100% compatible with my work environment. I just want to get things done!
UNIX,Linux,BSD don’t fill some of those markets. If I can develop on Windows with all these benefits and it works on UNIX,Linux,BSD or whatever else then I am far further ahead. When Unix, Linux or BSD variants come to par for the other things I do than it’s even easier to switch. No one gives a crap what OS they’re software runs on so long as it runs reliably and as it should! I can move between any of the platforms, and I do. I run Windows, OS X, Linux and BSD. They all have their strengths and weaknesses. If I can use all the apps I’m familiar with on all of the operating systems I use even better. The point is the ability to choose what’s right for you.
You are probably right. In a moment of weakness a inner child has popped up (or however you say this in english); I’m just fed up with Windows.
I didnt want to start a flame war (close source vs. open source; IE vs mozilla)
I just truly believe if open source was only available for *nix, we (= the geeks) could also enjoy playing games, do some image editing in Photoshop (without emulation!) and so on.
Thats a REAL choice my friend. Now, *nix isnt commercially intresting for Big Comapnies(tm) and that just sad.
The choice you are discribing isnt a choice. It’s a fact.
Why should you install Mozilla on Windows, when I cant install IE on linux?
Why should you use Postgres on Windows, when I cant use MSSQL on Linux?
(actually I wouldnt use it on linux but thats not the point)
What choice are you talking about dude?
But, as I said, you are right. There is nothing I (/we) can do, but sit write our webstandard XHTML/CSS with a lot of IE crap so 90% of the visitors (with IE and a choice, heh) can view my webpage as it was suppossed to be seen(for one, dont let me even start about closed source and tools).
And of course watch M$ getting bigger, licensing stuff they dont even made (just because they can), getting paid for stuff like Windows eXtremly Pathetic and so on.
My gentoo (or whatever Linux/BSD) will never be a desktop OS. I will never be able to use Photoshop on it, bla bla bla.
It just sucks! My first post started as “I wish” and everything I just wroted is said with that.
It is a choice. You choose to use Linux you give up your some software.
Let’s stick with Photoshop here for a second to keep things simple. Adobe is a software company. Software companies want and need to make money to stay alive in the marketplace. In order to do that they need a certain percentage of customers to be able to sustain themselves. Now lets take a look at the market place. Conservatively, more than 80% of the market is Wintel, ~10-20% is MacOS/PPC and less than 1% is Linux. Even assuming that the Linux market share is larger a company like Adobe has to then account for the percentage of the Linux segment where they are most likely to make money. For all intents and purposes this is RedHat and Suse and maybe Mandrake, but for sure RH/SUSE. Then they have to support that platform. All this costs money, time and resources. For what I assure you is less than 1% it doesn’t make sense. It also leaves you the Gentoo, Debian, Mephis, Ubuntu, some other Flavor of the day out in the cold.
Now if you, me and thousands of other Linux users say “Hey Adobe I’m here, I’m using Linux, I’m willing to spend money just allow me to buy it” Adobe would than reconsider. Many software companies still perceive Linux as a server OS. In many cases this is what it is still best suited for. Until there is a critical mass reached, they just aren’t going to look at us.
The point is, saying that software shouldn’t be porting software from one operating system to another just doesn’t make sense. That’s lock-in. Something everyone complains about with MS, SUN, Red Hat, Suse, etc. Give them choices and you then have true freedom.
We can start to compares the gotchas:
http://sql-info.de/mysql/gotchas.html
http://sql-info.de/postgresql/postgres-gotchas.html
some are incredibles…
Huge ups to the PSQL folks for getting this release out; Windows compat will foster pretty rapid adoption by ISP’s and smaller biz’s.
So, when can we expect a managed .Net PSQL driver? I could see this being a huge boon to .Net devs who deal with small companies who aren’t willing to fork out the extra dough for SQL Server as they probably won’t need the performance bennies offered. I also would love to see a vendor put together a PSQL solution that can compete on TPC ( http://www.tpc.org ). cheers.
I often read that kind of plea and I understand them but the fact is, Linux is now 10 years old. If people were willing to move to Linux or other Unices in order to get access to “exclusive” applications like PostgreSQL, KDE or Gnome, they would have made this switch years ago.
obviously, this is not working. there are no “desktop” killer application that would make users switch. some users left Mac OS 9 when Quark XPress was not supported anymore or Photoshop was less competitive as the Windows version. but in 10 years, the Big Move did not happen. so stupid stories like xchat going shareware on Windows is just making the situation more ridiculous : most Windows users are happy warez users anyway and won’t care about licences or feelings.
actually, that is a good thing : once your users have the same rough set of software available on both Unix and Windows, they won’t care a iota if you change the OS under the hood – namely if you switch them to Linux after their box has been infected with spyware and virus.
I don’t agree. I would say the more free software that is ported to windows the better. That way more people would realize how much good free software there is, and once they do, they will look for free alternatives more frequently.
This will mean that commercial software houses will have to lower their margin, and increase their support to get their stuff sold. This will probably slow down development of non free software.
Besides, free software is supposed to be free, why should not as many people as possible have that freedom. Not invading the windows platform is sort of against the spirit of free software.
When software vendors start using PostgreSQL or Firebird instead of so overwhelming MS SQL (MSDE), there will be no reason to acquire MS Windows servers at all.
Thanks PostgreSQL!