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

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 over 100 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. Over 100 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.