Conditional foreign keys and polymorphism in SQL: 4 Methods
by
Laurenz Albe |
08.2023 This article is about the notoriously difficult problem of “conditional foreign keys”. In object-oriented programming languages, polymorphism is a […]
Indexing "LIKE" in PostgreSQL and Oracle
by
Laurenz Albe |
08.2023© Laurenz Albe 2023 Unless you use the binary collation, creating a b-tree index to support a LIKE condition in […]
Subqueries and performance in PostgreSQL
by
Laurenz Albe |
07.2023 SQL allows you to use subqueries almost anywhere where you could have a table or column name. All you […]
Unexpected downsides of UUID keys in PostgreSQL
There are various compelling reasons to use universally unique identifiers (UUID) as primary keys. Two examples are: To be able […]
What is a schema in PostgreSQL?
What is a schema in PostgreSQL? Why do we need a schema and how can schemas be used to make your life easier? Let's find out.
PostgreSQL ALTER DEFAULT PRIVILEGES - permissions explained
by
Laurenz Albe |
05.2023 Many people have heard that ALTER DEFAULT PRIVILEGES makes it easy to allow other users access to tables. But […]
EXPLAIN (GENERIC_PLAN): New in PostgreSQL 16
by
Laurenz Albe |
04.2023 A while ago, I wrote about how difficult it is to get an execution plan for a parameterized query. […]
Parallel aggregate - PostgreSQL 16 - better performance
What is a parallel aggregate? In PostgreSQL, a parallel aggregate refers to a way of processing aggregate functions (such as […]
Breaking your PostgreSQL database with bad CHECK constraints
by
Laurenz Albe |
03.2023I am on a spree! After writing about breaking your database and transaction ID wraparound, here I am writing about […]
PostgREST: Get started with automated PostgreSQL APIs
PostgREST quick-start guide: Writing APIs by hand is a lot of work. PostgREST automatically generates an API out of your PostgreSQL database.