PgCon 2010 – PL/Parrot, Simulated Annealing, Exclusion Constraints, Postgres-XC

PgCon this year was full of bold ideas, delivered in the quiet manner typical of the Postgres community. Talks by Jonathan Leto, Jan Urbanski and Jeff Davis all presented new features and ideas that show there is so much room yet in Postgres as a project to contribute, and innovate. I was also delighted to see Postgres-XC (touted as a “Postgres RAC”) release code, and give a great presentation on the high-level details.

Jonathan Leto presented work on PL/Parrot, along with David Fetter. Parrot is a dynamic language virtual machine, allowing implementation of multiple dynamic languages which can then share classes (from the docs: “In theory, you will be able to write a class in Perl, subclass it in Python and then instantiate and use that subclass in a Tcl program.”). The project is to embed Parrot in PostgreSQL, and eventually, implement dynamic languages inside the virtual machine. Advantages to doing this are that it will make implementing new dynamic languages in Postgres much easier, because the language implementers won’t have to learn the PL interface. Another useful feature in PL/Parrot is the implementation of a security opcode in Parrot which essentially controls access to open(), a key to implementing a secure procedural language in Postgres. (I’m sure Jonathan will correct me if I didn’t describe this properly :D)

Jan Urbanski gave a talk on join ordering via Simulated Annealing, called Replacing GEQO. The approach was pretty interesting, involved math that required me to scratch my head a bit, and the initial performance improvements for many-join queries made it seem appealing. The original -hackers posting from Jan, includes a few hairy queries from Andres Freund which confound the GEQO referenced later in the thread. Jan’s posted the code, and I’m looking forward to seeing how it develops this year.

Jeff Davis presented exclusion constraints, which are part of 9.0. He is continuing his work on temporal data types with a clever and very useful generalization of UNIQUE. UNIQUE constrains equality, while exclusion constraints allow other operators (in the most cited example, Jeff demonstrates “overlaps” in the PERIOD datatype).

Postgres-XC was officially presented and released. For efforts in Postgres clustering, releasing the code is a huge step forward toward mainstreaming work in the community on clustering. This release solidifies community work that started last year, with NTT and the support of the Japanese PostgreSQL User Group in having a clustering summit back in November 2009.

I was disappointed to miss a few talks (like hypothetical indexes, pg_statsinfo, CB’s pgMQ) but looking forward to hearing the recordings as they are published!

PgCon 2008 – big announcements, community conversations

PgCon was a very exciting conference, with a lot of people from Europe, Asia, Australia and South America traveling to be part of it. I read that 175 people attended, and based on how crowded both parties were, it’s not hard to believe!

The biggest announcement for me was that the PostgreSQL Europe is finally a non-profit organization! I made a slide for my lightning talk with Magnus, Gabriele, Jean-Paul and Andreas on it:

PgEU announced

I got a ton of great feedback about the User Groupalooza slides. I also enjoyed meeting Jean-Paul Argudo, a fellow Drupaler.

There were a bunch of community-focused conversations, some focused inward on developers, some looking out to the rest of the world from inside Pg, and others from the outside looking in:

All the talks were recorded, so I look forward to listening to them again – without the distraction of Twitter! 🙂

A couple talks I thought were really great for web developers were:

  • Magnus Hagander’s search.postgresql.org talk gave some great examples and code showing how to use PostgreSQL’s tsearch capabilities with a PHP-based website.
  • Clark Evan’s talk on HTSQL, a REST-ful web inteface application. It looks pretty cool and I’m interested in trying it out. They are using it for medical records report generation and have even given the ability to generate queries to the end users.

Thanks so much to Dan who got me to the conference this year! I learned a lot, and really enjoyed meeting so many people that I’ve only communicated with over email for the past three years.