pg_class
Find PostgreSQL Index Bloat and Wasted Space
Mar 31, 2026 / · 5 min read · postgresql performance indexing optimization database pg_class pg_index pg_namespace pg_stats pg_am pg_attribute pg_stat_user_indexes ·How to Find Index Bloat and Wasted Space in PostgreSQL Just like tables, PostgreSQL indexes can become bloated over time. When rows are updated or deleted, the old index entries are not removed immediately. They stay in the index as dead entries, wasting space and slowing down index scans. B-tree indexes are the most …
Read MoreMonitor PostgreSQL HOT Updates and Fillfactor
Mar 29, 2026 / · 5 min read · postgresql performance optimization administration database pg_class pg_namespace pg_stat_all_tables ·How to Monitor PostgreSQL HOT Updates and Fillfactor When PostgreSQL updates a row, it normally writes a new row version and creates a new index entry pointing to it. This is safe, but it adds overhead — especially on tables with many indexes. HOT updates (Heap Only Tuple) are a smarter path. When a HOT update happens, …
Read MoreGRANT SELECT on All Tables in PostgreSQL — with Examples
Mar 27, 2026 / · 12 min read · postgresql database administration sql queries security access control permissions etl postgres dba pg_default_acl pg_class ·Grant SELECT on All Tables in PostgreSQL Third-party ETL connectors, BI platforms, and audit users all need read access to PostgreSQL tables — without write permissions that could corrupt production data. Granting SELECT table by table works until someone adds a new table and the connector silently skips it; ALTER …
Read MoreList PostgreSQL Tables by Size with SQL
Mar 15, 2026 / · 5 min read · postgresql database administration sql queries storage performance tuning pg_class postgres dba information_schema pg_indexes pg_namespace pg_stat_user_indexes pg_stat_user_tables ·List PostgreSQL Tables by Size with SQL This PostgreSQL query lists all tables in the current database sorted by their total size, largest first. It uses pg_total_relation_size() to include the table data, indexes, TOAST storage, and free space map in the size calculation. Purpose and Overview Disk space pressure is a …
Read MorePostgreSQL Table Row Count Estimates with SQL
Mar 14, 2026 / · 5 min read · postgresql database administration sql queries performance tuning statistics pg_stat_user_tables postgres dba pg_class pg_namespace information_schema ·PostgreSQL Table Row Count Estimates with SQL This PostgreSQL query returns estimated row counts for all user tables, sorted by the largest tables first. It reads from PostgreSQL's cumulative statistics rather than scanning the tables, making it near-instant even on tables with billions of rows. Purpose and Overview …
Read MoreALTER SEQUENCE RESTART WITH in PostgreSQL — Examples
Aug 17, 2025 / · 8 min read · postgresql sql database database-maintenance postgres-sequences postgresql-scripting dba-tips database-tuning pg_class pg_namespace ·Restarting All PostgreSQL Sequences with SQL Script Database administrators often face challenges with PostgreSQL sequences, especially after data has been deleted or when tables have been re-imported. Sequences drive the generation of auto-incrementing values (like primary keys using SERIAL or BIGSERIAL), and …
Read MorePostgreSQL Index Cardinality: A Guide to Understanding Index Efficiency This blog post delves into the world of PostgreSQL index cardinality, a crucial metric for optimizing database performance. We'll dissect the provided SQL code, explain its purpose, and equip you with valuable insights to make informed decisions …
Read MoreIdentify Underutilized PostgreSQL Columns for Optimization
Apr 3, 2024 / · 4 min read · PostgreSQL Database Administration Database Schema pg_class pg_namespace pg_attribute pg_type pg_statistic information_schema ·Identifying Underutilized Columns in Your PostgreSQL Database Keeping your PostgreSQL database clean and efficient is crucial for optimal performance. One way to achieve this is by identifying and potentially removing "useless" columns – those that hold minimal or redundant data. This article explores a PostgreSQL code …
Read MorePostgreSQL query to find columns containing only NULL values
Mar 24, 2024 / · 4 min read · postgresql database optimization database schema design database administration pg_class pg_namespace pg_attribute pg_type pg_statistic information_schema ·Identifying Null-Only Columns in PostgreSQL This article explores a valuable PostgreSQL query for database administrators. It helps identify columns within your database tables that exclusively contain NULL values. Uncovering these "null-only" columns can be a key step in optimizing storage usage and streamlining your …
Read MoreIdentify Large PostgreSQL Indexes for Optimization
Mar 17, 2024 / · 9 min read · indexes storage optimization performance pg_index pg_class pg_namespace pg_tablespace pg_stat_user_indexes ·Find the Largest PostgreSQL Indexes by Size Which indexes are taking up the most disk in this database? pg_index joined to pg_class answers that in one query: every index with its table, schema, tablespace, size, and the command that would recreate it, sorted with the biggest first. It is the inventory step before any …
Read More