Presented by:


Michael Glaesemann

See Spot Code

Michael Glaesemann was hired as the first full-time DBA at MeetMe (then myYearbook). While there, he was been a part of growing the database infrastructure from one Postgres instance to over 30, supporting an active social networking site reaching over 1 million active users per day and top-10 grossing social networking apps on both iOS and Android platforms in the US.

No video of the event yet, sorry!

JDBC is a popular standard database client API for Java. It's great for portability across database server backends, and the PostgreSQL JDBC Driver is a solid implementation. As with many standards, there's an expected common denominator for behavior. There are circumstances, however, when that common denominator limits what's actually available from a specific underlying system. When you want to leverage the full power of Postgres on the JVM, sometimes you need to go beyond what's available with JDBC.

The solution? Implement your own driver! Use the PostgreSQL V3 Protocol to take full advantage of everything PostgreSQL has to offer. In my case, I want a PostgreSQL interface for Clojure---a Lisp hosted on the JVM (as well as compiling to JavaScript)---that is idiomatic to the language. Clojure already has a great wrapper for JDBC, but supporting features such as Clojure's data types and LISTEN/NOTIFY can be better served by a dedicated driver. In this talk I will cover differences between Java and Clojure and the limitations of the JDBC driver which motivate a new driver for Clojure. In addition, I'll provide an overview of the implementation of the V3 protocol in Clojure and the use of the new driver.

50 min
PostgresConf US 2018