UPDATED August 2023: Functions defined as SECURITY DEFINER are a powerful, but dangerous tool in PostgreSQL. The documentation warns of […]
PostgreSQL commit 74dfe58a5927b22c744b29534e67bfdd203ac028 has added “support functions”. This exciting new functionality that allows the optimizer some insight into functions. […]
There are good reasons why CREATE USER should be used cautiously. Find out why, and why you should distinguish between users and roles.
How to implement 1-to-1 relationship in PostgreSQL? Tricks with UNIQUE constraints? Check how to achive that using DEFERRABLE foreign keys.
Sometimes you want to enforce a condition on a table that cannot be implemented by a constraint. In such […]
This blogpost is about using cursors in PostgreSQL, their purpose and limitations and what DECLARE CURSOR and FETCH have to do with it.
This article gives an overview about common security problems as well as ways to mitigate these risks in PostgreSQL.
It is a frequent complaint that count(*) is so slow on PostgreSQL. In this article I want to explore […]
How to speed up GROUP BY statements in PostgreSQL. Follow some basic rules & you will squeeze performance out of the database for free.
fdw performance tuning - hidden tuning options which are not widely known. Let's see how to speed up the PostgreSQL foreign data wrapper.
Unaccent is a useful PostgreSQL extension for improving user experience. Get insight into this extension and its purpose.
Many people know that explicit table locks with LOCK TABLE are bad style and usually a consequence of bad […]