Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
PostgreSQL is Engine Yard's New Default (engineyard.com)
82 points by ahhrrr on Aug 15, 2012 | hide | past | favorite | 19 comments


One important feature for PostgreSQL which they should have mentioned is transactional DDL. It makes applying migrations much less risky since you know if a statement in the migration fails all of it will be rolled back.

After having used PostgreSQL in production for some years I do not know how I could go back to a database without transactional DDL.


Awesome. Given that their services look Ruby-centric, maybe they could take over PL/Ruby and point out that this would allow people to write their stored procs in Ruby too.


An update to PL/Ruby would be great.

It doesn't appear to have been updated for a couple of years or use Ruby 1.9 : https://github.com/knu/postgresql-plruby . There is also a newer fork : https://github.com/globegit/postgresql-plruby , which does appear to be worked on.


Yeah, PL/Ruby looks quite dead to me. Would be nice if someone got development of it up to speed again.


Does anybody know how Postgres' fulltext search capabilities/performance compare to using something like ElasticSearch?


I can't give you a comparison, but for what it's worth, it is used on the Postgres documentation and mailing list archives. I mention this because you can play with it and get an intuitive sense of its performance and subjective usefulness.

http://archives.postgresql.org/

http://www.postgresql.org/search/?u=%2Fdocs%2F9.1%2F&q=c...

It's also handy because you can combine it with relational data. For example, if you search from a manual page of a particular version of Postgres, it'll only return results from that version.

The main performance limitation is probably update/insert rate, and it doesn't has as many features as a dedicated IR-type system, but it's frequently good-enough and already present.


From what I know its better than MySQL's full text and all its warts, but still not comparable to a lucene based search solution.


Postgresql cannot be fast as Lucene because of its not a "search engine". Postgresql full-text is fast enough for most cases but it doesn't have support for facet queries which is important for a search engine.


Actually, it does, which is why tools like PostGIS are built for it. In the most recent versions of PostgreSQL (I believe 9.1) they even added k-nearest-neighbor multi-dimensional index support to GiST.


The main problem is that it's a major PITA to sync a db and an external search service. So it's nice to have FTS built-in


Depends on the database.

I know CouchDB and MongoDB both make it pretty easy to add Solr/ElasticSearch into the equation.


Postgresql is nowhere, NOWHERE near as powerful or as fast, but it'll work for the cases where you're doing simple search-interface bolt-ons to an existing product already using PGSQL.

Postgresql fulltext and ElasticSearch are ultimately solving two very different sorts of problems.

The only case I can think of where you would prefer to use PGSQL is if you some weird blending of normal relational data with the documents, but I think realistically you can sidestep that. We've been able to do pretty complicated queries against our ElasticSearch instances.


As you say they solve two very different sorts of problems.

If you want to do full text searching of documents, probably PostgreSQL is not the right answer. If you want to pull all customers in the UK with notes searched full-text-wise for "did not pay" then PostgreSQL is much better just because it all integrates into the same filter.


Fully agreed.


PostgreSQL is amazing, that is all.


After like an entire year (duh) I figured out how to have InnoDB transactions with MyISAM full-text search...

InnoDB master. MyISAM slaves.


The other way is to have an InnoDB master table with MyISAM derivatives kept in sync by triggers. Ugly but effective.

It's been way too long for InnoDB to be without that type of index.


5.6 baby!


Can't wait for it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: