The day DB developers will slap a flexible and programmable GUI onto these wonderful DBs will mean that their introduction to the novices will be easier. These in my view, should be event driven, preferably in python or any other scriptable language. I hear KDE has one. Please do not mention the so called BOA Constructor, as it is difficult to manage. Think about MS Access and its GUI which can be used to add Business logic to a database in an easy way. Kexi is not there yet.
I have been using pgAdmin to connect with my Cygwin Postgres on my Windows development box and so far have had no problems deploying the same code to my FreeBSD server. A nice combination. But I do understand that Cygwin isn’t a friendly face for Windows only developers.
Well the 7.5 native port is available in beta. http://www.hagander.net/pgsql/win32snap/ Definitely not for production, but for testing it holds up fine. I am sure they would appreciate more testers.
Proper relational design is still difficult, however; and not easily understood by ‘novices’. MS Access has not changed that.
I agree with you on this but I meant the following: –
I mentioned in my post that what is needed is a programmable GUI to add business logic. Controls or Widgets that can be disabled/enabled when a particular widget gets a certain value, say, you indicate in a form that you are male. It becomes in-applicable to ask whether you have given birth before the same is if an entry is made of an infant. Such business logic and other logic in the same class is what I find still lacking. How to output the information is also important, like formating dates to particular locales and so many other possibilities. I believe that you understand what I mean.
As an old MySQL user because it was the thing I must say PostgreSQL rules! I hope it gets more attenttion since people in the media always seem to look past it.
I guess I’m still very much under the influence of Practical Issues in Database Management by Fabian Pascal, which I recently read.
He argues very much in favor of a pure relational implementation, rather than one that is application based. After all, these are server based repositories available to many applications, and the best way to ensure the data is not corrupted is to model it so that the interfacing applications are not responsible or able to put bad info in it.
Most, if not all of the business logic can come from properly defined constraints and data types. As in your example, a table describing a male person would simply not have fields for births, and therefore applications accessing that table would find nothing to query or input.
Not to start a flamewar, but for those of you toying with the idea of creating a business solution incorporating a database storage backend, the PostgreSQL license is the BSD license, while the more popular MySQL license is similar to Qt. In other words, when you prepare to ship your product and charge money for it, be prepared to either upgrade your MySQL license, or ship it with full source code. PostgreSQL has no such license restrictions.
Searching Google for PostgreSQL and MySQL comparison provides some interesting information. I wish there were more PostgreSQL books and websites because for such a great product, it sure suffers from a lack of media spotlight.
I guess I’m still very much under the influence of Practical Issues in Database Management by Fabian Pascal, which I recently read.
Hear, hear! The voices of reason in data management are few and far between these days. The trio: C.J. Date, Hugh Darwen, Fabian Pascal. I heartily recommend books by any of them. And, http://www.thethirdmanifesto.com is worth a read. Without a doubt the best short reads I have ever seen on relational systems are the articles by Hugh Darwen:
– “The Askew Wall”
– The Importance of Column Names
– How to Handle Missing Information without Using Nulls
PostgreSQL probably comes closer than almost any other SQL system at providing a “pure relational implementation”, but it can only go so far if it is chained to SQL, unfortunately. I wonder what the future holds for the RDBMS.
The problem is, there is so much inertia for moving away from SQL. SQL will be the next COBOL and it will live, and live, and live…
I was interested in learning Quel a couple of weeks before. I heard it was more relational than SQL. However, since there is no current practical use for it, that interest faded quickly 🙂
Well I do not know why PostgreSQL just always seams to be lacking behind in the media. A few years ago there documentation was crapy and there website was impossible to find anything at, but today the homepage is just as good as mysql (perhaps the search function needs a little more speed, as it is very slow).
At university my DB teacher laughed at me when i mentioned postgresql as a serius DBMS. I newer realy found out why he did that (said somthing about that COUNT was slow) –
perhaps someone can put some light on this, is there any techical reason for why MySQL is more in the media spotlight (lack of enterpirse featurs like clustering ?, failover ?)
Yes, COUNT() performance is one of the few drawbacks of PostgreSQL. Unfortunately COUNT() and some other aggregate functions require a sequential scan when applied to a whole table, but it is a trade-off the PostgreSQL developers have made in order to provide a generic API for user-defined aggregates (see the bottom of http://www.postgresql.org/docs/7.4/interactive/functions-aggregate….).
I remember reading a discussion on this topic in the developer mailing list, and the “hardcore” developers’ point of view was something along the lines of “if you need to keep track of all the rows in your table, a trigger can store that number just fine”. I personally wish they would find a way to optimize COUNT(), among other things, but still, there are ways to deal with it.
The point of PostgreSQL is not raw speed, but its powerful relational capabilites, and its extensibility. It is probably the single most extensible DBMS on the planet. Of course, there are always drawbacks to any benefit, but the benefits are great.
Other than that one issue, there is absolutely no techical reason for MySQL to be in the media spotlight. They were just lucky enough to be in the right place at the right time. Meanwhile, there are quite a few companies running large PostgreSQL databases, some approaching the terabyte size. It’s not at the level of Oracle or DB2, but if your “DB teacher” at university prefers MySQL to PostgreSQL then he should get another job, maybe as a salesperson. Speed at the expense of proper type checking, constraints, relational abstraction, etc… results in a DBMS that barely deserves the name.
The reason it doesn’t get much media attention compared to mysql is easy. Mysql is easier to pronounce. Mysql also has easier to use support tools but those are the only 2 advantages it has over postrgesql.
I don’t understand why the developers don’t change the name to something with more flash and appeal. If the firefox developers can change the name of their project twice in one year then the postgres developers can change their stupid name once.
I Just LOVE IT !
The day DB developers will slap a flexible and programmable GUI onto these wonderful DBs will mean that their introduction to the novices will be easier. These in my view, should be event driven, preferably in python or any other scriptable language. I hear KDE has one. Please do not mention the so called BOA Constructor, as it is difficult to manage. Think about MS Access and its GUI which can be used to add Business logic to a database in an easy way. Kexi is not there yet.
I will stick with MySQL or Firebird.
You are directed to gmane.org, where you can find out about the varios newsgroups for PostgreSQL, including the native Win32 port.
You can run PostgreSQL under Cygwin, with ODBC connections, between now and the time 7.5 stampedes across the landscape.
Actually there are several GUIs which act as front ends to Postgres and other databases using JDBC.
Proper relational design is still difficult, however; and not easily understood by ‘novices’. MS Access has not changed that.
I have been using pgAdmin to connect with my Cygwin Postgres on my Windows development box and so far have had no problems deploying the same code to my FreeBSD server. A nice combination. But I do understand that Cygwin isn’t a friendly face for Windows only developers.
Well the 7.5 native port is available in beta. http://www.hagander.net/pgsql/win32snap/ Definitely not for production, but for testing it holds up fine. I am sure they would appreciate more testers.
Proper relational design is still difficult, however; and not easily understood by ‘novices’. MS Access has not changed that.
I agree with you on this but I meant the following: –
I mentioned in my post that what is needed is a programmable GUI to add business logic. Controls or Widgets that can be disabled/enabled when a particular widget gets a certain value, say, you indicate in a form that you are male. It becomes in-applicable to ask whether you have given birth before the same is if an entry is made of an infant. Such business logic and other logic in the same class is what I find still lacking. How to output the information is also important, like formating dates to particular locales and so many other possibilities. I believe that you understand what I mean.
Cb..
As an old MySQL user because it was the thing I must say PostgreSQL rules! I hope it gets more attenttion since people in the media always seem to look past it.
I guess I’m still very much under the influence of Practical Issues in Database Management by Fabian Pascal, which I recently read.
He argues very much in favor of a pure relational implementation, rather than one that is application based. After all, these are server based repositories available to many applications, and the best way to ensure the data is not corrupted is to model it so that the interfacing applications are not responsible or able to put bad info in it.
Most, if not all of the business logic can come from properly defined constraints and data types. As in your example, a table describing a male person would simply not have fields for births, and therefore applications accessing that table would find nothing to query or input.
Not to start a flamewar, but for those of you toying with the idea of creating a business solution incorporating a database storage backend, the PostgreSQL license is the BSD license, while the more popular MySQL license is similar to Qt. In other words, when you prepare to ship your product and charge money for it, be prepared to either upgrade your MySQL license, or ship it with full source code. PostgreSQL has no such license restrictions.
Searching Google for PostgreSQL and MySQL comparison provides some interesting information. I wish there were more PostgreSQL books and websites because for such a great product, it sure suffers from a lack of media spotlight.
I guess I’m still very much under the influence of Practical Issues in Database Management by Fabian Pascal, which I recently read.
Hear, hear! The voices of reason in data management are few and far between these days. The trio: C.J. Date, Hugh Darwen, Fabian Pascal. I heartily recommend books by any of them. And, http://www.thethirdmanifesto.com is worth a read. Without a doubt the best short reads I have ever seen on relational systems are the articles by Hugh Darwen:
– “The Askew Wall”
– The Importance of Column Names
– How to Handle Missing Information without Using Nulls
PostgreSQL probably comes closer than almost any other SQL system at providing a “pure relational implementation”, but it can only go so far if it is chained to SQL, unfortunately. I wonder what the future holds for the RDBMS.
The problem is, there is so much inertia for moving away from SQL. SQL will be the next COBOL and it will live, and live, and live…
I was interested in learning Quel a couple of weeks before. I heard it was more relational than SQL. However, since there is no current practical use for it, that interest faded quickly 🙂
Well I do not know why PostgreSQL just always seams to be lacking behind in the media. A few years ago there documentation was crapy and there website was impossible to find anything at, but today the homepage is just as good as mysql (perhaps the search function needs a little more speed, as it is very slow).
At university my DB teacher laughed at me when i mentioned postgresql as a serius DBMS. I newer realy found out why he did that (said somthing about that COUNT was slow) –
perhaps someone can put some light on this, is there any techical reason for why MySQL is more in the media spotlight (lack of enterpirse featurs like clustering ?, failover ?)
Shhh!
We don’t want people knowing that you can add in popular languages like Perl and Python for server-side scripting!
Yes, COUNT() performance is one of the few drawbacks of PostgreSQL. Unfortunately COUNT() and some other aggregate functions require a sequential scan when applied to a whole table, but it is a trade-off the PostgreSQL developers have made in order to provide a generic API for user-defined aggregates (see the bottom of http://www.postgresql.org/docs/7.4/interactive/functions-aggregate….).
I remember reading a discussion on this topic in the developer mailing list, and the “hardcore” developers’ point of view was something along the lines of “if you need to keep track of all the rows in your table, a trigger can store that number just fine”. I personally wish they would find a way to optimize COUNT(), among other things, but still, there are ways to deal with it.
The point of PostgreSQL is not raw speed, but its powerful relational capabilites, and its extensibility. It is probably the single most extensible DBMS on the planet. Of course, there are always drawbacks to any benefit, but the benefits are great.
Other than that one issue, there is absolutely no techical reason for MySQL to be in the media spotlight. They were just lucky enough to be in the right place at the right time. Meanwhile, there are quite a few companies running large PostgreSQL databases, some approaching the terabyte size. It’s not at the level of Oracle or DB2, but if your “DB teacher” at university prefers MySQL to PostgreSQL then he should get another job, maybe as a salesperson. Speed at the expense of proper type checking, constraints, relational abstraction, etc… results in a DBMS that barely deserves the name.
The reason it doesn’t get much media attention compared to mysql is easy. Mysql is easier to pronounce. Mysql also has easier to use support tools but those are the only 2 advantages it has over postrgesql.
I don’t understand why the developers don’t change the name to something with more flash and appeal. If the firefox developers can change the name of their project twice in one year then the postgres developers can change their stupid name once.