Agent Skills: PostgreSQL Scaling Skill

Scale PostgreSQL - partitioning, connection pooling, high availability

postgresqlscalingpartitioningconnection-poolinghigh-availability
databaseID: pluginagentmarketplace/custom-plugin-postgresql/postgresql-scaling

Skill Files

Browse the full folder contents for postgresql-scaling.

Download Skill

Loading file tree…

skills/postgresql-scaling/SKILL.md

Skill Metadata

Name
postgresql-scaling
Description
Scale PostgreSQL - partitioning, connection pooling, high availability

PostgreSQL Scaling Skill

Atomic skill for horizontal and vertical scaling

Overview

Production-ready patterns for partitioning, connection pooling, and high availability.

Prerequisites

  • PostgreSQL 16+
  • Understanding of replication
  • PgBouncer or Patroni experience

Parameters

parameters:
  operation:
    type: string
    required: true
    enum: [partition, pool, replicate, shard]
  partition_type:
    type: string
    enum: [range, list, hash]

Quick Reference

Range Partitioning

CREATE TABLE events (id BIGINT, data JSONB, created_at TIMESTAMPTZ)
PARTITION BY RANGE (created_at);

CREATE TABLE events_2024_q1 PARTITION OF events
    FOR VALUES FROM ('2024-01-01') TO ('2024-04-01');

PgBouncer Config

[pgbouncer]
pool_mode = transaction
default_pool_size = 20
max_client_conn = 1000

Replication Setup

CREATE ROLE replicator WITH REPLICATION LOGIN PASSWORD 'secret';
SELECT pg_create_physical_replication_slot('replica1');

Monitor Lag

SELECT client_addr, pg_size_pretty(pg_wal_lsn_diff(sent_lsn, replay_lsn)) as lag
FROM pg_stat_replication;

Pool Mode Selection

| Mode | Use Case | |------|----------| | session | Long connections | | transaction | Web apps (recommended) | | statement | Simple queries |

Troubleshooting

| Problem | Cause | Solution | |---------|-------|----------| | Partition not used | Pruning disabled | SET enable_partition_pruning = on | | Too many connections | No pooler | Use PgBouncer | | Replication lag | Slow replica | Check I/O, network |

Usage

Skill("postgresql-scaling")