DDX for PostgreSQL

A free, read-only archive and intelligence service for the PostgreSQL community. No registration. No tracking. No affiliation with any PostgreSQL organization. Provided as a public good.

But, what is it? What does it do? Why do I need it, and how would I use it if I agreed with you? Read the about page.

DATA INDEXED

Git Repositories

Other Sources

TL;DR — START USING THIS SITE WITH YOUR AGENT

The 30-second setup. Pick your agent.

  1. Add the MCP server. One line:
    claude mcp add --transport http agora https://pg.ddx.io/mcp
    If your Claude Code is older and only supports SSE, use:
    claude mcp add --transport sse agora https://pg.ddx.io/mcp/sse
    Or edit ~/.claude.json directly:
    {
      "mcpServers": {
        "agora": { "type": "http", "url": "https://pg.ddx.io/mcp" }
      }
    }
  2. Clone the skills so Claude knows what's here and how to use it:
    git clone -b claude https://codeberg.org/ddx/skills.git ~/.claude/skills
  3. Verify. In Claude, type /mcp. You should see agora connected with ~108 tools.
  4. Try it. Ask: "Use the postgresq skill to find pgsql-hackers messages mentioning HOT pruning since 2024."

ACCESS PROTOCOLS

MCP https://pg.ddx.io/mcp/ Model Context Protocol over HTTP. ~108 tools for searching the email archives, browsing threads, exploring code symbols, tracing call graphs, finding related discussions, and reading git history. Point your MCP-capable agent here.
SSE https://pg.ddx.io/mcp/sse Same MCP tools, Server-Sent Events transport. Use this when your agent (e.g. pi) prefers SSE over streamable-HTTP for long-running tool calls.
REST https://pg.ddx.io/api JSON REST endpoints under /api/v2/* for the same data MCP exposes — community contributors / orgs / per-person, mailing-list threads, regex search, code search. Self-described at /openapi.yaml.
GraphQL POST /api/graphql Federated GraphQL surface for cross-namespace queries (commit ↔ message ↔ buildfarm ↔ contributor). Send a POST with {"query":"...","variables":{...,"inbox":"pgsql-hackers"}} body. Useful for exploratory analysis without learning the SQL schema.
NNTP nntp://nntp.pg.ddx.io:119/ Read mailing-list archives as Usenet groups (each /m/<inbox>/ is a group). Plays nicely with traditional mail/news clients (slrn, gnus, tin) for offline reading and threading.
IMAPS imaps://imap.pg.ddx.io:993/ Read mailing-list archives via IMAP+TLS. Each inbox is a folder; useful when you want to fold pgsql-hackers into your regular mail client search and tag workflow.
IMAP imap://imap.pg.ddx.io:143/ Same as IMAPS but plaintext (port 143). Wraps in STARTTLS if your client prefers that handshake; consider IMAPS unless you have a specific reason.
POP3S pop3s://pop.pg.ddx.io:995/ Bulk-download messages once, store offline. Useful for archival of a single inbox or for one-shot analysis when you don't want a long-lived IMAP session.
POP3 pop3://pop.pg.ddx.io:110/ Plaintext POP3 (port 110). Same caveats as IMAP — prefer POP3S unless you have a reason.
Git/HTTPS https://pg.ddx.io/m/<inbox>.git Each mailing-list inbox is also a public-info git repo — every message as a commit, threading reflected in parent links. Clone for grep / log / blame on archives the way you'd analyse a code repo.
Git/SSH ssh://[email protected]:22/<inbox>.git Same git repos served over SSH on port 22. Use when behind a CGI-stripping proxy that mangles the smart-HTTP transport.