name: postgresql-operations
description: Manage PostgreSQL: schema migrations, performance tuning, backups, monitoring per README-SCHEMA-MAINTENANCE.md
license: Apache-2.0
PostgreSQL Operations Skill
Purpose
Manage PostgreSQL database operations including migrations, performance tuning, and backups.
When to Use
- ✅ Schema migrations with Liquibase
- ✅ Performance optimization
- ✅ Backup and recovery
- ✅ Monitoring and alerting
Liquibase Migrations
<changeSet id="1" author="developer">
<createTable tableName="politician">
<column name="id" type="VARCHAR(12)">
<constraints primaryKey="true"/>
</column>
<column name="first_name" type="VARCHAR(50)">
<constraints nullable="false"/>
</column>
<column name="last_name" type="VARCHAR(50)">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
Performance Tuning
CREATE INDEX idx_politician_party ON politician(party);
CREATE INDEX idx_voting_record_date ON voting_record(vote_date);
EXPLAIN ANALYZE
SELECT * FROM politician WHERE party = 'S' AND district = 'Stockholm';
ANALYZE politician;
Backup Strategy
pg_dump -h localhost -U cia_user -d cia_production > backup_$(date +%Y%m%d).sql
wal_level = replica
archive_mode = on
archive_command = 'cp %p /backup/archive/%f'
Monitoring
SELECT count(*) FROM pg_stat_activity;
SELECT query, calls, total_time, mean_time
FROM pg_stat_statements
ORDER BY mean_time DESC LIMIT 10;
References