What Is New In PostgreSQL 9.0
Jamie noted a blog that says "PostgreSQL 9.0 beta 2 just got released this week. We may see another beta before 9.0 is finally released, but it looks like PostgreSQL 9.0 will be here probably sometime this month. Robert Treat has a great slide presentation showcasing all the new features."
I'm glad to see work being done on on-place upgrades rather than the current dump and reload.
(First Post?!?)
"Draw them in with the prospect of gain, take them by confusion." Sun Tzu
select FIRST_POST from slashdot where user='Anonymous Coward';
While the changelog is cool and all, if you just want to see the slides go to http://www.slideshare.net/xzilla/intro-to-postgres-9-tutorial
If I have been able to see further than others, it is because I bought a pair of binoculars.
This bites me occasionally in Oracle where you've got a big query that has lots of tables joined together, and then at some point one of the columns is removed from the select part, and the query performance suddenly goes to hell. Then you have to go through and verify that each table is actually being used (even worse if the column that was removed from the select came from deep joins).
Go Postgres!
the mention slides to be found here:
http://www.slideshare.net/xzilla/intro-to-postgres-9-tutorial
It took me a while to realize it was not either of 2 mentioned presentations...
A better summary of the changes is here.
After years of resisting, one of the more significant changes is the inclusion of WAL shipping-based replication into postgresql core, and the ability to do read-only queries on the standby systems. This will hopefully go a long way towards appeasing mysql users used to the "easy" replication that mysql provides.
What I would love to see is some standardization for SQL languages. It would be nice to take an App say say in PostgreSQL then use it in Oracle if you find that you need to go to a bigger infrastructure... As well move down, as a lot of apps are running on DB servers that are too big for their use. While the language has some nice features it would be much better to have an updated set of common function and calls so you can make your SQL more cross platform. A lot of the real work behind SQL isn't much in the Language but in what is happening underneath.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Do you have an actual example? I simply don't see how removing a column from a select clause would make a query slower, unless you're talking about uses of aggregate functions, and even there I'm having a hard time seeing how a removal could make things worse.
The thing that determines how much work the database has to do in order to produce the results is the FROM, the WHERE and the GROUP BY, because those are the ones that determine what's going to be accessed, joined, sorted and how. The SELECT (except for the use of aggregate functions) primarily just decides what information to present from the join results and how to present it.
Are you adequate?
There's a new open-source database from one of the founders of PostgreSQL (Michael Stonebreaker): http://www.voltdb.com/
I believe it is based on the H-Store project from MIT, and if it is anything like Stonebreaker's Vertica, should be similar in language and syntax to PostgreSQL.
VoltDB should be for high-demand OLTP. It keeps everything in memory and is MPP (not to mention full-ACID compliance). It runs POSIX compliant unixes, even Mac OS 10.5 and later, Linux, etc. They only support CentOS (which is RHEL if memory serves).
Anyway, if anyone is interested in PostgreSQL, I would take a look at this.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
the join removal. But what about the partitioning features that have been on the table for quite some time now? The scaffolding is already there, but implementing partitioning is still quite a chore. I just want to be able to gracefully create/manage partitions as in Oracle. There are also a few papers floating around out there with proof-of-concept parallelization/optimization schemes that can be applied with partitioning knowledge.
I don't understand. What is the advantage of PostgreSQL verses MySQL or a seperate HTTP server?
Forget it. I know someone is going to freak out and mod me troll. I do not intend to cause harm.
For the multi-master replication that was promised for 8.4.
cat
Google is your friend.
Phppgadmin is pretty much that, there is also pgadmin which is a desktop app.
I suggest you educate yourself before making such statements.
Sup dawg! I herd you liek SQL databases so we put a MySQL in your Postgres so you can Insert while you Insertin'!
You know, you've lost me there, and I don't think it's me. You're going to have to explain that better if I'm going to believe it.
The best I can make it, you're assuming that there is a table that's structured/ordered/partitioned/whatever based on the values of the column that gets removed from the query. I assume that's what you mean by "blocked" or "pinned" columns.
However, I still fail to understand how including such a column in the SELECT list of a query provides any optimization opportunities. The only ways I can see it affecting query execution (e.g., table access paths and join methods) still involve use of the column in the join conditions in the FROM, restrictions in the WHERE, or use of the column in GROUP BY.
Are you adequate?
I'd agree with you. I'm expert in neither MySQL nor Postgresql, but have worked with both, and I prefer working with Postgresql. It just makes more sense to me, and I find it a little easier to use even though I've used MySQL more.
"while democracy seeks equality in liberty, socialism seeks equality in restraint and servitude." de Tocqueville
So I recently had to find a free SQL DB so I could do "select * from sm1 where (times,command,descriptor) not in (select sm1.times,sm1.command,sm1.descriptor from sm1,sm2 where abs(sm1.times-sm2.times)1 and sm1.command=sm2.command and sm1.descriptor=sm2.descriptor);"
PostgreSQL was the choice, it was easy to install on my Mac, it rulez!
Besides being 99% compatible to Oracle in PL/SQL, it's also 99% compatible for embedded SQL in C applications (Oracle Pro*C). So if you want to migrate an Oracle installation, or create a prototype for a future Oracle installation, Postgresql is the right option.
We have been using slony 1.x for master/slave replication with pg 8.3 and it has worked well for us. It does have its problems, specially lock issues when modifying schema for busy tables. I see that 9.0 includes built-in replication and a work-around for these situations (i.e.: kill read-only queries that are in the way).
I wonder why this didn't make to their list of favourites. It is on the runner-ups though.
I think you're mixing up two things:
You're basically right in your understanding of (1), though the details are considerably more complex.
I expressed my skepticism about (2) in another comment in this thread. Then the comment you're replying to was my sympathetic yet skeptical reply to another poster who assumed that the column removal from the SELECT clause might cause a cartesian join (a join of two tables without any conditions restricting the joins, which tends to perform very badly and is usually an indicator that your query is written wrong).
Are you adequate?
I think is time that postgres will be the most database used in open source & comercial software, MySQL current now is most used but dont have all functionality that Postgres.
"Daria todo lo que se, por la mitad de lo que ignoro" http://blog.oaxrom.com
Perhaps slightly off-topic, but I would like to throw this question out here in case someone has an answer:
The other day I was working on an application that uses a MySQL database. I found that when hammering the application with hundreds of actions that caused data to be inserted in the database, I would often get a message to the effect that a deadlock had been detected, with the advice to "try restarting the transaction". In the cases I investigated, the deadlocks were caused by two transactions trying to insert into the same table. I don't really understand why this causes a deadlock. Is this something I could expect to happen with any RDBMS (e.g. because I'm doing something wrong or because this is simply unavoidable), or is it related to implementation choices? Under what circumstances does and doesn't PostgreSQL deadlock?
Please correct me if I got my facts wrong.