Postgres’ten Yararlanma Yöntemleri
(github.com/Olshansk)- Bu depo, “Keep It Simple Stupid, just use postgres” yaklaşımı doğrultusunda Postgres’i çeşitli amaçlar için kullanmaya yönelik araçları ve örnekleri bir araya getirip gösterir
- Liste, Amazing CTO’nun Postgres for Everything yazısından ve @cpursley’nin GitHub gist’inden ilham almıştır; Postgres üzerinde sürekli yeni araçlar veya kullanım biçimleri ortaya çıktığı için sürdürülmektedir
- Kapsam; cron işleri, gömülü Postgres, mesaj kuyrukları, analiz, GIS, denetim günlükleri, erişim kontrolü, arama, zaman serileri, NoSQL, grafik, HTTP, API, CDC, önbellekleme, test, migrasyon, performans ayarı, izleme, eklentiler, UI, CLI, görselleştirme, paket yönetimi, güvenlik ve finansal deftere kadar geniştir
- Her madde Postgres eklentileri, kütüphaneleri, API platformları, yazılar ve araçları link odaklı olarak düzenler; bazıları DuckDB, pgvector, PostGIS, PgBouncer, GraphQL, CDC gibi somut teknolojilerle bağlantılıdır
- Belirli bir kod parçası, araç veya projeyi örnek olarak eklemek isteyen kullanıcılar, bağlantıyla birlikte PR açmalı ve yeni pull request template’ini kullanmalıdır
Deponun amacı ve bakım biçimi
- Postgres for Everything deposunun amacı, Postgres’i birçok farklı amaç için kullanmanın yollarını göstermektir
- Depo aşağıdaki kaynaklardan ilham almıştır
- Postgres üzerinde yeni araçlar çıktığı veya yeni kullanım biçimleri sürekli ortaya çıktığı için, bunları takip eden bir yer olarak sürdürülür
- Başka örnekler varsa PR gönderilebilir
- Kod parçaları, araçlar veya projeler göstermek için bağlantıyla birlikte PR açılmalı ve pull request template kullanılmalıdır
Okuma materyalleri ve örnek yazılar
- Postgres’in ölçeklenebilirliği, kalıpları, veritabanı fonksiyonlarının kullanımı, PostgreSQL optimizasyonu ve özelliklerini ele alan yazılar yer alır
İş çalıştırma, gömme ve kuyruklar
-
Cron Jobs
-
Embeddable Postgres
-
Message Queues
- tembo-io/pgmq
- SKIP LOCKED
- sequinstream/sequin: Postgres satırlarını ve değişikliklerini Kafka, SQS gibi akış platformlarına ve kuyruklara gönderen CDC aracı
- janbjorge/pgqueuer: PostgreSQL’den yararlanan Python iş kuyruğu kütüphanesi
- smartpricing/queen: Bağımsız FIFO partition’lar, Kafka tarzı consumer group ve exactly-once delivery sunan PostgreSQL tabanlı mesaj kuyruğu
Analiz, haritalar, denetim, yetkilendirme
-
Analytics
- paradedb/pg_analytics: Postgres’te DuckDB tabanlı veri gölü analizi sağlar
- duckdb/pg_duckdb: DuckDB için resmi Postgres eklentisi
- BemiHQ/BemiDB: Analiz için optimize edilmiş Postgres okuma replikası
- Mooncake-Labs/pg_mooncake: Postgres içine kolonsal depolama ve DuckDB vektörleştirilmiş yürütme ekleyen eklenti
- ClickHouse/pg_clickhouse: SQL’i yeniden yazmadan PostgreSQL’de ClickHouse analiz sorgularını çalıştırır
-
GIS & Mapping
-
Audit Logs
- supabase/supa_audit
- pgMemento/pgMemento
- pgaudit/pgaudit
- BemiHQ/Bemi: PostgreSQL veri değişikliklerini otomatik olarak izler
-
Access Control & Authorization
Arama, zaman serisi, sütun yönelimli, NoSQL, grafik
-
Full Text Search
- Postgres Full Text Search: İlgili bağlantılar derlemesi
- pg_search: BM25 kullanan Postgres tam metin araması
- plpgsql_bm25: PL/pgSQL ile uygulanmış BM25 araması
-
Vector Search
- pgvector/pgvector
- tensorchord/VectorChord: Ölçeklenebilirlik, yüksek performans ve disk verimliliğini hedefleyen PostgreSQL vektör benzerliği arama eklentisi
- timescale/pgai: Postgres içinde RAG, anlamsal arama ve yapay zeka uygulamaları geliştirmeyi destekleyen pgvector tabanlı eklenti
- timescale/pgvectorscale: pgvector’ü tamamlayan DiskANN vektör indeksi uygulaması
-
Hybrid Search
- plpgsql_bm25rrf.sql: BM25 ve pgvector’ü Reciprocal Rank Fusion ile birleştiren hibrit arama
-
Time Series
- timescale/timescaledb: Zaman serileri ve olaylar için PostgreSQL++
- tembo-io/pg_timeseries: PostgreSQL için açık kaynak zaman serisi eklentisi
-
Column Oriented
- paradedb/paradedb: Arama ve analitik için Postgres
- pg_duckdb: Postgres içinde DuckDB sütun depolaması
-
NoSQL
- JSON Types: PostgreSQL’in yerel JSON desteği
- Using JSONB in PostgreSQL: PostgreSQL’de JSON verilerini depolama ve indeksleme yöntemi
-
Graph Data
- Apache Age: İlişkisel veritabanlarına grafik veri işleme ve analiz özellikleri sağlayan PostgreSQL için grafik veritabanı
Harici veri, HTTP, API, GraphQL, CDC
-
Foreign Data
-
HTTP
-
API Platforms
- PostgREST: Mevcut PostgreSQL veritabanından RESTful API oluşturma
- Hasura GraphQL Engine: Meta veri tabanlı API platformu
-
GraphQL and Alternative Query Languages
- PostGraphile: PostgreSQL için otomatik GraphQL API’si
- supabase/pg_graphql: Tek bir SQL fonksiyonuyla GraphQL sorgularını mümkün kılan PostgreSQL eklentisi
- dosco/graphjin: GraphQL’i otomatik olarak SQL sorgularına dönüştürme
- kaspermarstal/plprql: PRQL ile fonksiyon yazmayı sağlayan PostgreSQL eklentisi
-
Events, Replication, CDC
- aws/pgactive: Active-active veritabanları oluşturmak için AWS’nin replikasyon eklentisi
- xataio/pgstream: DDL değişiklikleri dahil Postgres replikasyonunu çıktı hedeflerine gönderen CDC CLI ve kütüphanesi
- electric-sql/electric: Postgres veritabanındaki Shapes’i senkronize eden HTTP API’si
- SQL Notify
- debezium/debezium
- 2ndQuadrant/pglogical
Önbellekleme, test, uygulamalar, migrasyon
-
Caching
- tidwall/pogocache: Gecikme süresi ve CPU verimliliğine odaklanan önbellekleme katmanı
- readysettech/readyset
-
Unit Tests
-
HTML & Applications
-
Migrations
- purcell/postgresql-migrations
- Bytebase
- xataio/pgroll
- stripe/pg-schema-diff
- pgschema/pgschema: Postgres’e Terraform tarzı deklaratif şema migrasyonu iş akışı sağlayan CLI
Performans, İzleme, Ölçekleme, UI
-
Performance Tuning
- Supabase Index Advisor
- Dexter
- HypoPG
- pg_hint_plan
- PGHero
- pg_incremental: hızlı ve güvenilir artımlı toplu işleme için bir eklenti
- pgassistant: PostgreSQL performansını anlamaya ve optimize etmeye yardımcı olan geliştirici asistanı
-
Monitoring
-
Testing
- regresql: PostgreSQL desteği olan SQL sorgusu regresyon test aracı
-
Scaling & Storage
- Snowflake-Labs/pg_lake: Postgres’i bağımsız bir lakehouse sistemi olarak kullanır; S3 gibi nesne depolarındaki Iceberg tabloları için işlem ve sorgu desteği sağlar
- pgdogdev/pgdog: PostgreSQL sharding’i yapabilen transaction pooler ve mantıksal replikasyon yöneticisi
- pgbouncer/pgbouncer: PostgreSQL için hafif bağlantı havuzlayıcı
- orioledb.com: disk üzeri ve bellek içi motorların avantajlarını birleştiren PostgreSQL eklentisi
-
User Interfaces & Dashboards
- Baserow
- NocoDB
- AppSmith
- mathesar-foundation/mathesar: farklı teknik seviyelerdeki kullanıcıların Postgres verilerini görüntülemesine, düzenlemesine, sorgulamasına ve üzerinde birlikte çalışmasına olanak tanıyan elektronik tablo benzeri arayüz
Geliştirici Araçları, Görselleştirme, Paketler, Güvenlik, Finans
-
CLIs
- dbcli/pgcli: otomatik tamamlama ve söz dizimi vurgulama sunan Postgres istemcisi
- sosedoff/pgweb: web tabanlı, çapraz platform PostgreSQL veritabanı gezgini
- Maxteabag/sqlit: PostgreSQL dahil SQL veritabanları için TUI
-
Visualization
- dr-jts/pg_svg: PostGIS geometry’yi stillendirilmiş SVG belgelerine dönüştüren PostgreSQL fonksiyonları koleksiyonu
- Evidence
- Metabase
- Hopara: üretim, IoT, yaşam bilimleri ve veri gölleri için gerçek zamanlı veri görselleştirme platformu
- posit-dev/ggsql: Grammar of Graphics tabanlı bildirimsel veri görselleştirme SQL eklentisi
-
Package Management
-
Language Servers
- supabase/postgres-language-server: Postgres için dil araçları ve LSP implementasyonları koleksiyonu
-
Data Privacy & Security
- neondatabase/postgresql_anonymizer: PII veya ticari açıdan hassas verileri yerinde maskeleyen ya da değiştiren PostgreSQL eklentisi
-
Financial Ledgers
- pgledger: PostgreSQL ile uygulanmış çift taraflı muhasebe defteri
-
Miscellaneous
- Very comprehensive list of Postgres tooling
- Unsupported PostgreSQL features in Aurora DSQL: AWS Aurora DSQL’de desteklenmeyen PostgreSQL özelliklerinin listesi
Henüz yorum yok.