a Practical Postgres Protocol Primer
Will is a Principal Engineer at Citus Data on the Citus Cloud database team, where he focuses on security and scaling out Postgres horizontally. Before Citus, he was a principal member of the core Heroku Postgres team. He graduated with an M.S. in bioengineering from the University of Illinois at Urbana-Champaign. Please don't try to right-click and steal the source for his WebSite bitfission.com.
It's unlikely that you will need to implement the Postgres wire protocol yourself, but understanding it will give you insight into how Postgres operates you'll not get otherwise. And as far as binary protocols go, this one is surprisingly not awful! In this talk we'll cover - motivations for using the raw protocol vs linking libpq - (and some protocol features not available in libpq!) - authentication and ssl negotiation - the flow for the two different query protocol and the tradeoffs between them - how asynchronous events fit in - and finally, miscellaneous features such as backend termination All of the examples will be with real, but (hopefully) simple code. A clear, working implementation makes good complement to the reference documentation, and should help you should you ever need to work with the raw protocol.
- 50 min
- PGConf US 2017 [PgConf.US]