Genel
Kod Yok, API Var: PostgREST ile Backend’siz Backend
Hep Aynı Hikaye
PostgreSQL veritabanında bir tablo oluşturdunuz. İçine birkaç satır veri eklediniz. Şimdi bu verileri ekranlarınızdan göstermek istiyorsunuz.
Normal senaryo:
Backend framework seçilir (Node.js, Django, Spring Boot…)
ORM entegre edilir (opsiyonel)
CRUD endpoint’leri yazılır
Yetkilendirme eklenir
Deployment yapılır
Bazen hızlı prototipleme için, sırf birkaç satır veriyi okumak için gereksiz karmaşık bir backend inşa edilir. Böylece prototipleme hızlı olmaz.
PostgREST ile sadece PostgreSQL bilginizle, sıfır backend koduyla, hazır ve güvenli bir REST API elde edebilirsiniz.
PostgREST nedir?
PostgREST, PostgreSQL veritabanınızı doğrudan RESTful bir API’ye dönüştüren açık kaynaklı bir araçtır. Ek bir geliştirme yapmadan veritabanınızı bir endpoint olarak dışarı açmanızı sağlar.
Tablolarınız → Otomatik endpoint’ler
SQL fonksiyonlarınız → Custom action’lar
PostgreSQL rolleriniz → API yetkilendirme sistemi

Kurulum
PostgreSQL veritabanınıza bir şey kurmanıza gerek yoktur. DB sunucusuna ya da karşılayacağı yüke göre ayrı bir sunucuya executable ı kopyalamanız ve config dosyası ile çalıştırmanız yeterli olur.
postgrest.conf:
Bir musteri tablonuz olsun:
API üzerinden otomatik çalışan örnekler:
Tüm müşteriler
Filtreleme
Yeni müşteri ekleme
Müşteri Güncelleme
Müşteri varsa update yoksa insert (UPSERT)
Veya:
Güvenlik
Güvenlik katmanına geldiğimiz zaman, o iş yükünün tamamen PostgreSQL üzerinde olduğunu görüyoruz.
“anon” rolü → halka açık API
JWT token → kullanıcı doğrulama
Row-Level Security (RLS) → satır bazlı erişim kontrolü
Bunları veriyi kimlerin nasıl görebileceği için kullanbilirsiniz. Ya da araya NGINX gibi bir katman ekleyerek tokenları statik bir şekilde onun üzerinden yönetebilirsiniz. Ya da kendiniz bir orta katman yazarak dagha ileri seviye bir yetkilendirme de kullanabilirsiniz.
Kullanım Senaryoları
Prototip geliştirme → Backend ile zaman kaybetmeden direk frontend geliştirmeye başlama.
Dashboard / Admin panel → CRUD operasyonları hazır
Mikroservis → PostgreSQL’i olan servisi API’ye çevir
Low-code / No-code çözümler → Frontend doğrudan API’den beslenir
Avantajlar
Backend yazmaya gerek yok
PostgreSQL’in tüm gücünü kullanır
Hızlı prototip ve üretim hazır API
Güvenlik Postgres rollerine devredilir
Dezavantajlar
PostgreSQL bağımlılığı, diğer veritabanları için de benzer uygulamalar biliyorsanız yorumlara ekleyebilirsiniz.
Karmaşık iş kuralları için SQL fonksiyonlarına yüklenmek gerekebilir. PostgreSQL de farklı programlama dilleri ile function yazabiliyor olmak bu noktada avantaja da dönüşebilir.
API tasarımında özelleştirme sınırlı.
Eğer PostgreSQL kullanıyor ve “keşke backend ile uğraşmadan doğrudan API olsa” diyorsanız, PostgREST sizin için doğru tercih olabilir.






