8 pontos por GN⁺ 2024-12-09 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Este repositório reúne e apresenta ferramentas e casos de uso do Postgres para diferentes finalidades, sob a diretriz “Keep It Simple Stupid, just use postgres
  • A lista foi inspirada no texto Postgres for Everything do Amazing CTO e no gist do GitHub de @cpursley, e é mantida porque continuam surgindo novas ferramentas e formas de usar Postgres
  • O escopo é amplo e inclui jobs cron, Postgres embarcado, filas de mensagens, analytics, GIS, logs de auditoria, controle de acesso, busca, séries temporais, NoSQL, grafos, HTTP, API, CDC, cache, testes, migração, tuning de performance, monitoramento, extensões, UI, CLI, visualização, gerenciamento de pacotes, segurança e razão financeira
  • Cada item organiza principalmente links para extensões do Postgres, bibliotecas, plataformas de API, textos e ferramentas, e alguns se conectam a tecnologias específicas como DuckDB, pgvector, PostGIS, PgBouncer, GraphQL e CDC
  • Usuários que quiserem adicionar exemplos de trechos de código, ferramentas ou projetos específicos devem abrir um PR com links e usar o novo pull request template

Objetivo do repositório e forma de manutenção

  • O objetivo do repositório Postgres for Everything é mostrar maneiras de usar o Postgres para vários propósitos
  • O repositório foi inspirado nos seguintes materiais
  • Como novas ferramentas sobre o Postgres aparecem e novas formas de uso continuam surgindo, ele é mantido como um lugar para acompanhar isso
  • Se houver outros exemplos, é possível enviar um PR
  • Para mostrar trechos de código, ferramentas ou projetos, é preciso abrir um PR com links e usar o pull request template

Leituras e artigos de exemplo

Execução de tarefas, embedding e filas

  • Cron Jobs

  • Postgres embarcável

    • PGLite: empacota uma build WASM do Postgres com menos de 10 MB, executável em navegador, Node.js, Bun e Deno, como uma biblioteca TypeScript
    • pgmicro: reimplementação in-process do PostgreSQL baseada em um mecanismo de armazenamento compatível com SQLite
  • Filas de mensagens

    • tembo-io/pgmq
    • SKIP LOCKED
    • sequinstream/sequin: ferramenta de CDC que envia linhas e alterações do Postgres para plataformas de streaming e filas como Kafka e SQS
    • janbjorge/pgqueuer: biblioteca Python de fila de tarefas que usa PostgreSQL
    • smartpricing/queen: fila de mensagens baseada em PostgreSQL que oferece partições FIFO independentes, consumer groups no estilo Kafka e exactly-once delivery

Analytics, mapas, auditoria e permissões

Busca, séries temporais, colunar, NoSQL, grafos

  • Full Text Search

  • Vector Search

    • pgvector/pgvector
    • tensorchord/VectorChord: extensão de busca por similaridade vetorial para PostgreSQL com foco em escalabilidade, alto desempenho e eficiência em disco
    • timescale/pgai: extensão baseada em pgvector que oferece suporte ao desenvolvimento de RAG, busca semântica e aplicações de IA dentro do Postgres
    • timescale/pgvectorscale: implementação de índice vetorial DiskANN que complementa o pgvector
  • Hybrid Search

  • Time Series

  • Column Oriented

  • NoSQL

  • Graph Data

    • Apache Age: banco de dados de grafos para PostgreSQL que oferece recursos de processamento e análise de dados em grafos em bancos de dados relacionais

Dados externos, HTTP, API, GraphQL, CDC

Cache, testes, aplicações, migrações

Desempenho, monitoramento, escalabilidade, UI

  • Performance Tuning

  • Monitoring

    • StatsMgr: oferece suporte ao gerenciamento de estatísticas como WAL, SLRU e checkpointing
    • pgMonitor: solução de monitoramento que visualiza métricas com Prometheus, Grafana, SQL Exporter e a extensão pgMonitor
  • Testing

    • regresql: ferramenta de teste de regressão de consultas SQL com suporte a PostgreSQL
  • Scaling & Storage

    • Snowflake-Labs/pg_lake: usa o Postgres como um sistema lakehouse autônomo e oferece suporte a transações e consultas em tabelas Iceberg em armazenamentos de objetos como o S3
    • pgdogdev/pgdog: pooler transacional e gerenciador de replicação lógica com suporte a sharding para PostgreSQL
    • pgbouncer/pgbouncer: pooler leve de conexões para PostgreSQL
    • orioledb.com: extensão do PostgreSQL que combina as vantagens dos mecanismos on-disk e in-memory
  • User Interfaces & Dashboards

Ferramentas para desenvolvedores, visualização, pacotes, segurança, finanças

Ainda não há comentários.

Ainda não há comentários.