In this talk we will review some advanced SQL language constructs provided by PostgreSQL, with particular focus on features such as INSERT ... ON CONFLICT, Grouping Sets, Transaction Isolation and Window Functions.
We will consider both language clarity and performance gains. In fact, these two topics are not entirely separate. As a declarative language, SQL allows developers to solve a given problem simply by describing it, rather than implementing an algorithm which would be expected to provide a solution. Hence the usage of new, clearer syntax increases the number of options available to the query optimiser, at the same time reducing the potential for bugs due to user misunderstandings.