No Picture
PostgreSQL Performance

Parallel Hash Joins in PostgreSQL

Parallel Hash Joins in PostgreSQL are a type of join operation that can be executed in parallel, allowing for faster and more efficient execution of database queries. In a hash join, the database first builds […]

No Picture
PostgreSQL Performance

Buffer Header Queues in PostgreSQL

In PostgreSQL, buffer headers are data structures that represent a single page of data in the shared buffer cache. Each buffer header has information about the state of the page it represents, such as whether […]

No Picture
PostgreSQL Performance

Postgres Indexing: When Does BRIN Win?

BRIN (Block Range INdex) is a type of index in Postgres that is used for large tables with a large number of rows and a high degree of clustering. BRIN is an efficient way to […]

No Picture
PostgreSQL Performance

How is INSERT lock implemented in PostgreSQL 16?

In PostgreSQL, the lock behavior during an INSERT operation depends on the type of table that the operation is performed on. For a normal table, an INSERT lock is typically acquired on the table, which […]

No Picture
PostgreSQL Internals

How to use pg_largeobject in PostgreSQL?

The pg_largeobject system table in PostgreSQL is used to store and manage large binary objects (BLOBs) of binary data. To use pg_largeobject, you need to perform the following steps: For example, the following code shows […]

No Picture
PostgreSQL Performance

How does cache trashing happen in PostgreSQL 15?

Cache trashing in PostgreSQL 15 occurs when there is high contention for the shared buffer cache. This can happen when there are many concurrent queries accessing the same data, or when there is a lack […]