Categorygithub.com/edgeflare/pgo
repositorypackage
0.0.0-20250106230832-9a330938ded7
Repository: https://github.com/edgeflare/pgo.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

pgo (/pɪɡəʊ/): Postgres integrations in Go

This is a piecemeal collection of code snippets, which has evolved from my Postgres+Go projects whenever they were reused, without any plan/structure.

Now I'm (forcibly) moving from applications to this repo the boilerplate / heavy-lifting around:

  • net/http.Handler
    • router
    • middleware (authentication, logging, CORS, RequestID, ...)
    • Postgres middleware attaches a pgxpool.Conn to request context for authorized user; useful for RLS
  • Retrieval Augmented Generation (RAG)
    • fetch embeddings from LLM APIs (OpenAI, Groq, Anthropic, Google, Ollama, ...)
    • utils for pgvector search, augmented generation
  • Pipelines (realtime/batch)
    • Postgres' Logical Replication (optionally LISTEN/NOTIFY)
    • MQTT, Kafka, HTTP, ClickHouse, gRPC (add more by writing plugins yourself)

Usage

  • As a standalone binary for publishing Postgres CDC to Kafka, MQTT, ClickHouse, etc, see docs/postgres-cdc.md

It's also possible to import functions, etc. This reusability seems helpful, mostly because I'm learning by being forced to write reliable code that other code might depend on. Most of it actually isn’t dependable, yet. If you're curious, start by browsing the examples, skimming over any doc.go, *.md files.

Contributing

Please see CONTRIBUTING.md.

License

Apache License 2.0