postgres

A set of SQL coding standards for PostgreSQL, a database system used to store and query application data.

In plain words
What is it for?
Designing PostgreSQL schemas and writing queries, joins, constraints, indexes, parameterized statements, and migrations.
Why use it?
It encourages sound table design, data validation, secure queries, and efficient database access, helping prevent inconsistent or slow applications.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/chand1012/cursorrules/postgres
Clone the repo
git clone --depth 1 https://github.com/chand1012/cursorrules
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 1,284 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01284
Opus 5 $0.00000 $0.00642
Sonnet 5 $0.00000 $0.00257
Haiku 4.5 $0.00000 $0.00128

Measured yesterday against content hash 4feeb1a81de5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

postgres scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

languages/postgres.mdc · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PostgreSQL Best Practices

Schema Design

  • Choose appropriate data types to optimize storage and performance:
    • Use INT or BIGINT for integers, VARCHAR(n) or TEXT for strings, and TIMESTAMP WITH TIME ZONE for dates.
    • Example: CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(50), created_at TIMESTAMP WITH TIME ZONE);
  • Normalize tables to eliminate redundancy, but denormalize strategically for read-heavy workloads.
  • Enforce data integrity with constraints:
    • PRIMARY KEY for unique row identification.
    • FOREIGN KEY for referential integrity (e.g., user_id INT REFERENCES users(id)).
    • UNIQUE and CHECK for additional rules (e.g., CHECK (age >= 0)).
  • Use PostgreSQL-specific types like JSONB for semi-structured data or UUID for unique identifiers.

Query Writing

  • Specify explicit columns in SELECT instead of SELECT * for clarity and performance.
    • Example: SELECT id, name FROM users WHERE active = true;
  • Write efficient JOINs with indexed columns and appropriate types (INNER JOIN, LEFT JOIN, etc.).
  • Use parameterized queries to prevent SQL injection and improve performance:
    • Example: SELECT * FROM users WHERE id = $1 AND status = $2;
  • Limit result sets with LIMIT and OFFSET for pagination, or use keyset pagination for large datasets:
    • Example: SELECT * FROM orders WHERE id > $1 ORDER BY id LIMIT 10;

Indexing Strategies

  • Create indexes on columns in WHERE, JOIN, and ORDER BY clauses:
    • Example: CREATE INDEX idx_users_name ON users (name);
  • Select the right index type:
    • B-tree: For equality and range queries (default).
    • GIN: For JSONB, arrays, or full-text search.
    • GiST: For spatial or geometric data.
  • Use composite indexes for multi-column filters:
    • Example: CREATE INDEX idx_orders_date_customer ON orders (order_date, customer_id);
  • Avoid over-indexing to maintain write performance; remove unused indexes using pg_stat_user_indexes.

Read the full file on GitHub · 110 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 110 lines · 1,284 tokens per session scan A 4feeb1a81de5

Subscribe to this mod's changes

postgres is a cursor rule published in the GitHub repository chand1012/cursorrules (13 stars, last pushed 9mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,284 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.