PostgreSQL DBA
2.02K subscribers
140 photos
1 video
20 files
245 links
Sharing knowledge about postgresql database
Download Telegram
Statistics: PostgreSQL relies on statistics to estimate the cost of different query plans. Inaccurate statistics can lead to suboptimal plan choices. Regularly update statistics using the ANALYZE command.
Index Bloat: As data is inserted, updated, and deleted, indexes can become fragmented and bloated, leading to performance degradation. Rebuild indexes periodically using the REINDEX command.
Unused Indexes: Identify and remove unused indexes to reduce write overhead. The pg_stat_all_indexes view provides information about index usage.
Beyond indexing, several query optimization techniques can significantly improve performance.
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_id INTEGER,
order_date DATE,
order_total NUMERIC
) PARTITION BY RANGE (order_date);

CREATE TABLE orders_y2023 PARTITION OF orders
FOR VALUES FROM ('2023-01-01') TO ('2024-01-01');

CREATE TABLE orders_y2024 PARTITION OF orders
FOR VALUES FROM ('2024-01-01') TO ('2025-01-01');

-- Add an index to each partition
CREATE INDEX idx_orders_y2023_customer_id ON orders_y2023 (customer_id);
CREATE INDEX idx_orders_y2024_customer_id ON orders_y2024 (customer_id);
Configuration Parameters