Como usar o Postgres
(github.com/Olshansk)Objetivo e inspiração
- O objetivo deste repositório é mostrar como usar o Postgres para tudo.
- Inspirado por um artigo da Amazing CTO e por uma gist no GitHub de @cpursley.
Por que manter esta lista?
- Toda semana surgem novas ferramentas ou novas formas de usar o Postgres, então é preciso ter um lugar para registrar isso.
- Se houver outros exemplos, você pode enviar um PR.
Índice
- Posts de blog e artigos
- Tarefas cron
- Filas de mensagens
- Analytics
- GIS e mapeamento
- Logs de auditoria
- Controle de acesso e autorização
- Busca
- Texto completo
- Vetorial
- Séries temporais
- Orientado a colunas
- NoSQL
- Dados em grafo
- Dados externos
- Linguagens de consulta alternativas
- HTTP
- API
- Eventos, replicação, CDC
- Cache
- Testes unitários
- HTML e aplicações
- Gráficos e visualização
- Migrações
- Ajuste de desempenho
- Escalabilidade e armazenamento
- Dashboards e UI
- Visualização de dados
- Gerenciamento de pacotes
- Servidor de linguagem
- Outros
- Bônus: número de itens que incluem Supabase
Posts de blog e artigos
- Simplificando ao mover código para funções do banco de dados
- Use Postgres para tudo
- PostgreSQL é o melhor banco de dados do mundo
- O Postgres está dominando o mundo dos bancos de dados
- Discussão no Hacker News
Tarefas cron
- citusdata/pg_cron
- cybertec-postgresql/pg_timetable
Filas de mensagens
- Artigo sobre como escolher a técnica de fila com Postgres
- tembo-io/pgmq
- SKIP LOCKED
- riverqueue/river
- sequinstream/sequin: ferramenta para CDC no Postgres, que permite transmitir facilmente linhas e alterações do Postgres para plataformas de streaming e filas como Kafka e SQS.
- janbjorge/pgqueuer: biblioteca Python para enfileiramento eficiente de tarefas usando PostgreSQL
Analytics
- pg_analytics: transforma o Postgres em um banco OLAP rápido
- pg_duckdb: extensão oficial do Postgres para DuckDB
GIS e mapeamento
- postgis/postgis
Logs de auditoria
- arkhipov/temporal_tables
- supabase/supa_audit
- pgMemento/pgMemento
- pgaudit/pgaudit
Controle de acesso e autorização
- arkhipov/acl
- documentação do pgcrypto
- michelp/pgjwt
- guia de segurança de banco de dados no supabase.com
Busca
Texto completo
- Coletânea de links úteis sobre busca de texto completo no Postgres
- paradedb/paradedb
- Comparação entre a busca de texto completo do Postgres e outras tecnologias de busca
Vetorial
- pgvector/pgvector
- tensorchord/VectorChord: extensão do PostgreSQL para busca de similaridade vetorial escalável e de alto desempenho
- timescale/pgai: extensão do PostgreSQL que permite desenvolver RAG, busca semântica e outras aplicações de IA dentro do Postgres
- timescale/pgvectorscale: implementação de índice vetorial DiskANN que complementa o pgvector
Séries temporais
- timescale/timescaledb
- tembo-io/pg_timeseries
- Introdução ao pg_timeseries: extensão open source de séries temporais para PostgreSQL
Orientado a colunas
- hydradatabase/hydra
- citusdata/cstore_fdw
NoSQL
- documentação do PostgreSQL sobre armazenamento e indexação de dados JSON
- robconery/dox
- ferretdb.com
- Como armazenar e indexar JSONB de forma eficaz no PostgreSQL
Dados em grafo
- age.apache.org
Dados externos
- supabase/wrappers
Linguagens de consulta alternativas
- kaspermarstal/plprql
- supabase.github.io/pg_graphql
- dosco/graphjin
HTTP
- pramsey/pgsql-http
- supabase/pg_net
API
- PostgREST/postgrest
- hasura/graphql-engine
- postgraphile.org
- supabase.github.io/pg_graphql
Eventos, replicação, CDC
- Padrão Notifier para aplicações que usam Postgres
- documentação do SQL NOTIFY
- cpursley/walex
- PeerDB-io/peerdb
- debezium/debezium
- 2ndQuadrant/pglogical
Cache
- blog martinheinz.dev
- readysettech/readyset
Testes unitários
- theory/pgtap
- peterldowns/pgtestdb
HTML e aplicações
- SQLpage
- Omnigres
- pg_render
- plmustache
Gráficos e visualização
- pgSVG
Migrações
- purcell/postgresql-migrations
- bytebase.com
- xataio/pgroll
- stripe/pg-schema-diff
Ajuste de desempenho
- Supabase Index Advisor
- Dexter
- HypoPG
- pg_hint_plan
- PGHero
Escalabilidade e armazenamento
- Como a Cloudflare processou 55 milhões de requisições por segundo com 15 clusters PostgreSQL
- supabase/supavisor
- pg-sharding/spqr
- orioledb.com: extensão do PostgreSQL que combina as vantagens dos motores em disco e em memória
Dashboards e UI
- Baserow
- NocoDB
- AppSmith
Visualização de dados
- Evidence
- Metabase
Gerenciamento de pacotes
- pgxman/pgxman
- supabase/dbdev
Servidor de linguagem
- supabase/postgres_lsp
Outros
- Lista muito abrangente de ferramentas para Postgres
- Lista de recursos do PostgreSQL não suportados no Aurora DSQL
Bônus: número de itens que incluem Supabase
- 11
1 comentários
Opiniões do Hacker News
\u0000)SKIP LOCKEDpara oferecer processamento de tarefas eficiente e seguroLISTEN/NOTIFYainda deixa a desejar, mas está alcançando de forma surpreendente muitos apps legados, mesmo sem ser usado nelespgvectore Reciprocal Rank FusionINSERT