---
name: PostgreSQL
slug: postgresql-2
category: Data
description: PostgreSQL provides expert guidance for PostgreSQL table design, indexing, data types, constraints, extensions, search, and migrations. Use it when designing schemas, working with pgvector/PostGIS/TimescaleDB, or planning safe schema changes.
github: "https://github.com/timescale/pg-aiguide/tree/main/skills/postgres"
language: Python
stars: 1815
forks: 104
install: "npx degit https://github.com/timescale/pg-aiguide/tree/main/skills/postgres ~/.claude/skills/postgres"
installs_to: ~/.claude/skills/postgres
source_path: skills/postgres/SKILL.md
collection_size: 10
category_size: 668
collection_url: "https://dirskills.com/collections/timescale/pg-aiguide"
added: 2026-08-18T06:59:39.566Z
last_synced: 2026-08-18T06:59:39.566Z
canonical_url: "https://dirskills.com/skills/postgresql-2"
---

# PostgreSQL

PostgreSQL provides expert guidance for PostgreSQL table design, indexing, data types, constraints, extensions, search, and migrations. Use it when designing schemas, working with pgvector/PostGIS/TimescaleDB, or planning safe schema changes.

**Install:**

```bash
npx degit https://github.com/timescale/pg-aiguide/tree/main/skills/postgres ~/.claude/skills/postgres
```

## README

# PostgreSQL Expert Skills

This skill provides comprehensive PostgreSQL expertise through specialized references. Load the appropriate reference based on the task.

## Available References

### Table Design
- **[design-postgres-tables](references/design-postgres-tables.md)** — Data types, constraints, indexes, JSONB patterns, partitioning, and PostgreSQL best practices. **Use for any general table/schema design task.**
- **[design-postgis-tables](references/design-postgis-tables.md)** — PostGIS spatial table design: geometry vs geography types, SRIDs, spatial indexing, and location-based query patterns. **Use when the task involves geographic or spatial data.**

### Search
- **[pgvector-semantic-search](references/pgvector-semantic-search.md)** — Vector similarity search with pgvector: HNSW/IVFFlat indexes, halfvec storage, quantization, filtered search, and tuning. **Use for embeddings, RAG, or semantic search.**
- **[postgres-hybrid-text-search](references/postgres-hybrid-text-search.md)** — Hybrid search combining BM25 keyword search with pgvector semantic search using RRF. **Use when combining keyword and meaning-based search.**

### TimescaleDB
- **[setup-timescaledb-hypertables](references/setup-timescaledb-hypertables.md)** — Hypertable creation, compression, retention policies, continuous aggregates, and indexes. **Use when setting up TimescaleDB from scratch.**
- **[find-hypertable-candidates](references/find-hypertable-candidates.md)** — SQL queries to analyze existing tables and score them for hypertable conversion. **Use when evaluating which tables to migrate.**
- **[migrate-postgres-tables-to-hypertables](references/migrate-postgres-tables-to-hypertables.md)** — Step-by-step migration: partition column selection, in-place vs blue-green, validation. **Use when executing a migration.**

### Migrations
- **[postgres-database-migration](references/postgres-database-migration.md)** — DDL lock reference, safe migration patterns, timeout strategies, rollback planning, and fork-based testing. **Use when planning or executing schema changes on production databases.**

### Database Management
- **[ghost-database](references/ghost-database.md)** — Ghost is a managed PostgreSQL service designed for AI agents. Create, fork, pause, resume, and query databases via CLI or MCP. **Use when the user needs a database for agent workflows or wants to fork for safe experimentation.**

## How to Use

1. Identify which reference matches the user's task from the descriptions above.
2. Load the reference file to get detailed instructions and SQL patterns.
3. For tasks spanning multiple areas (e.g., "design a table with vector search"), load multiple references as needed.
