Functions are one of PostgreSQL‘s most powerful and least-used features. You can invoke functions, but you can also write functions in a variety of languages. How do PostgreSQL’s functions work? How are the languages different from one another? How do you create anonymous functions? And what are the best practices for function creation? In this talk, Joe Conway answers all of these questions, and more, providing a deep dive into the functions that we use, and those that we create, providing a great deal of insight into the process for PostgreSQL users old and new alike.