Cara Install dan Menggunakan PostgREST API: Panduan Pemula

Ashley Goolam

Ashley Goolam

14 November 2025

Cara Install dan Menggunakan PostgREST API: Panduan Pemula

Pernahkah Anda mempertimbangkan berapa banyak waktu yang dihabiskan pengembang untuk membangun API RESTful di atas basis data PostgreSQL? Seringkali, ini melibatkan penulisan kode boilerplate untuk operasi CRUD, penanganan kueri, dan memastikan keamanan—tugas-tugas yang dapat memperlambat momentum proyek Anda. Di sinilah API PostgREST hadir, menawarkan alternatif yang efisien yang mengubah basis data Anda menjadi API siap pakai dengan upaya minimal. Dalam panduan komprehensif ini, kita akan menjelajahi API PostgREST secara mendalam, mulai dari konsep dasarnya hingga implementasi praktis. Baik Anda seorang insinyur backend yang ingin mempercepat pengembangan atau pengembang full-stack yang mencari efisiensi, menguasai API PostgREST dapat mengubah alur kerja Anda.

Saat kita menelusuri topik ini bersama, saya akan berbagi wawasan yang diambil dari pengalaman praktis, memastikan setiap bagian dibangun secara logis dari bagian sebelumnya. Pada akhirnya, Anda akan merasa siap untuk mengintegrasikan API PostgREST ke dalam proyek Anda berikutnya. Mari kita mulai dengan hal-hal penting.

💡
Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
tombol

Apa itu API PostgREST? Sebuah Gambaran Umum

API PostgREST adalah alat mandiri yang secara otomatis mengekspos basis data PostgreSQL Anda sebagai layanan web RESTful yang berfungsi penuh. Dikembangkan oleh Beowulf, ia memanfaatkan kekuatan bahasa kueri PostgreSQL (SQL) untuk menghasilkan endpoint HTTP secara dinamis, menghilangkan kebutuhan akan logika sisi server kustom dalam banyak kasus. Intinya, API PostgREST menginterpretasikan skema basis data, tabel, tampilan, dan prosedur tersimpan sebagai sumber daya API, memungkinkan Anda untuk melakukan operasi buat, baca, perbarui, dan hapus (CRUD) melalui metode HTTP standar seperti GET, POST, PUT, dan DELETE.

Apa yang membuat API PostgREST sangat menarik adalah kepatuhannya terhadap prinsip-prinsip REST sambil menggabungkan fitur-fitur canggih PostgreSQL seperti Keamanan Tingkat Baris (RLS) untuk kontrol akses yang terperinci. Misalnya, Anda dapat mengkueri data dengan filter, pengurutan, dan paginasi menggunakan parameter URL—tanpa memerlukan middleware tambahan. Pendekatan ini tidak hanya mengurangi kompleksitas kode tetapi juga memastikan API Anda tetap sinkron dengan perubahan basis data secara otomatis.

Dalam lanskap yang didominasi oleh ORM dan kerangka kerja API, API PostgREST menonjol karena filosofi "database-first"nya. Ini mendukung dokumentasi OpenAPI (Swagger) secara langsung, membuatnya ramah pengembang untuk integrasi dengan alat seperti Apidog atau Swagger UI. Jika Anda mengelola aplikasi yang intensif data—pikirkan dasbor analitik, backend seluler, atau layanan mikro—API PostgREST menyediakan solusi ringan dan berperforma tinggi yang skalabel dengan ketahanan PostgreSQL. Seiring kita melanjutkan, Anda akan melihat bagaimana API ini menjembatani kesenjangan antara lapisan data dan aplikasi klien Anda dengan mulus.

postgresql

Memulai dengan API PostgREST: Instalasi dan Pengaturan

Memulai pekerjaan Anda dengan API PostgREST membutuhkan instans PostgreSQL, karena ini berfungsi sebagai fondasi. Untungnya, pengaturannya mudah, terutama saat menggunakan alat kontainerisasi seperti Docker, yang mengisolasi dependensi dan menyederhanakan penyebaran. Mulailah dengan memastikan Docker Desktop terinstal di mesin Anda—unduh dari situs web resmi untuk sistem operasi Anda (macOS, Windows, atau Linux).

docker desktop

Setelah Docker siap, tarik gambar yang diperlukan. Buka Docker Desktop, navigasikan ke bilah pencarian, dan instal gambar "postgrest/postgrest" untuk server API itu sendiri. Demikian pula,

install postgrest in docker

cari dan instal "dpage/pgadmin4" untuk mengelola basis data PostgreSQL Anda secara visual.

instal pgadmin4 in docker desktop

dan "postgres:alpine" untuk kontainer PostgreSQL yang ringan. Komponen-komponen ini membentuk ekosistem di sekitar API PostgREST.

Untuk pengaturan PostgreSQL manual melalui terminal (Direkomendasikan), jalankan perintah berikut untuk menjalankan kontainer:

docker run --name postgres-1 -e POSTGRES_PASSWORD=password -d -p 5431:5432 postgres:alpine

Di sini, ganti "password" dengan nilai yang aman. Perintah ini meluncurkan PostgreSQL di port 5431, memetakan ke port internal 5432. Setelah berhasil, Docker akan mengembalikan ID kontainer (string alfanumerik panjang)—catat untuk verifikasi. Jalankan docker ps untuk mengkonfirmasi status kontainer.

verify postgres installation in docker

Untuk memverifikasi peran pengguna, yang sangat penting untuk konfigurasi API PostgREST, masuk ke shell kontainer:

docker exec -it <container_id> sh

Ganti <container_id> dengan ID atau nama kontainer Anda. Di dalam shell, sambungkan ke PostgreSQL:

psql -U postgres -d postgres

(Dengan asumsi "postgres" sebagai pengguna default; sesuaikan jika disesuaikan. Seperti milik saya yang diubah menjadi username) Kemudian, daftar peran dengan \du. Output ini, termasuk nama peran seperti "postgres" atau yang kustom, akan dirujuk nanti. Anda dapat membuat pengguna tambahan di sini dan menetapkan izin, seperti memberikan SELECT, INSERT, UPDATE, atau DELETE pada skema.

view postgres docker role name

Dengan prasyarat ini, Anda siap untuk mengatur lingkungan Anda menggunakan Docker Compose—file YAML yang mendefinisikan aplikasi multi-kontainer. Buat docker-compose.yaml di direktori proyek Anda:

version: "3.9"
services:
  postgres_host:
    image: postgres:alpine
    environment:
      POSTGRES_USER: username
      POSTGRES_PASSWORD: password
      POSTGRES_DB: postgres
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5431:5432"
  pgadmin:
    image: dpage/pgadmin4
    ports:
      - "5050:80"
    depends_on:
      - postgres_host
    environment:
      PGADMIN_DEFAULT_EMAIL: postgres@pgadmin.com
      PGADMIN_DEFAULT_PASSWORD: postgres
  postgrest:
    image: postgrest/postgrest
    depends_on:
      - postgres_host
    ports:
      - "3000:3000"
    environment:
      PGRST_DB_URI: "postgres://username:password@postgres_host:5432/postgres"
      PGRST_DB_SCHEMA: "public"
      PGRST_DB_ANON_ROLE: "username"
volumes:
  pgdata:

Sesuaikan "username" dan "password" agar sesuai dengan pengaturan Anda, dan atur PGRST_DB_ANON_ROLE ke peran dari output \du Anda untuk akses anonim. Konfigurasi ini menghubungkan PostgreSQL, pgAdmin, dan server API PostgREST. Simpan file, lalu di terminal Anda (misalnya, terminal terintegrasi VS Code, setelah menginstal ekstensi Docker), jalankan:

docker compose up --build

Ini akan membangun dan memulai layanan. Akses pgAdmin di http://localhost:5050 menggunakan kredensial YAML, tambahkan server bernama "postgres_host" dengan detail koneksi (Hostname: postgres_host, Port: 5432, Username: username, Password: password), dan simpan. Anda sekarang memiliki API PostgREST yang berjalan di http://localhost:3000, siap untuk interaksi basis data.

executing docker containers in vs code

Membangun Proyek Contoh: Pengujian API PostgREST Langkah demi Langkah

Untuk benar-benar menghargai API PostgREST, mari kita bangun proyek praktis: API basis data sumber daya manusia sederhana untuk mengelola catatan karyawan. Contoh ini menunjukkan operasi CRUD pada tabel "humans", menggunakan Docker untuk orkestrasi dan Apidog untuk pengujian API.

Langkah 1: Siapkan Lingkungan Anda

Dengan Docker Desktop terinstal dan gambar ditarik (PostgREST, pgAdmin4, postgres:alpine), jalankan kontainer PostgreSQL awal seperti yang dijelaskan sebelumnya. Verifikasi dengan docker ps dan catat peran pengguna melalui \du.

Langkah 2: Susun Tumpukan Anda

Di editor kode seperti VS Code (ditingkatkan dengan ekstensi Docker untuk manajemen kontainer yang mulus), buat file docker-compose.yaml di atas. Pastikan nama gambar selaras dengan tepat—ketidakcocokan dapat menghentikan startup. Sesuaikan port jika diperlukan, tetapi pertahankan port eksternal PostgreSQL (5431) konsisten dengan pengaturan manual Anda. Luncurkan dengan docker compose up --build. Pantau log untuk kesalahan; startup yang berhasil menunjukkan layanan terikat ke port 5431 (DB), 5050 (pgAdmin), dan 3000 (PostgREST).

Langkah 3: Konfigurasi pgAdmin dan Buat Tabel

Navigasikan ke http://localhost:5050, masuk dengan PGADMIN_DEFAULT_EMAIL dan PASSWORD dari YAML.

login to pgadmin4 hosted on docker

Di bawah dasbor,

add a new server in pg admin

tambahkan server baru: Beri nama "postgres_host",

postgres host name

lalu di tab Koneksi, masukkan Hostname: postgres_host, Port: 5432, Username: username, Password: password. Simpan untuk mengakses antarmuka.

save the new postgres database configuration

Buat tabel: Buka Databases > postgres > Schemas > public > Tables, klik kanan Tables, dan pilih Create > Table. Beri nama "humans". Di Kolom, tambahkan:

createa a table
create new columns for a table

Klik Simpan. Untuk menyisipkan data, klik kanan tabel "humans" > Scripts > INSERT Script. Ubah dengan contoh SQL, misal:

INSERT INTO public.humans (id, name, job) VALUES (1, 'Steph Curry', 'Pro Basketball Player');

Jalankan untuk menyimpan catatan.

execute a script

Langkah 4: Verifikasi Ketersediaan API PostgREST

Buka http://localhost:3000 di browser Anda. Anda akan melihat dokumen spesifikasi Swagger 2.0 yang mencantumkan sumber daya seperti /humans—konfirmasi bahwa API PostgREST beroperasi dan sadar skema.

swagger 2.0 spec

Langkah 5: Uji dengan Apidog

Luncurkan Apidog, buat proyek baru, dan tambahkan permintaan GET ke http://localhost:3000/humans (ganti "humans" dengan nama tabel Anda). Kirim permintaan; ini mengembalikan JSON seperti:

[
  {
    "id": 1,
    "name": "Steph Curry",
    "job": "Pro Basketball Player"
  }
]
making a get request in apidog with postgrest

Untuk kueri, tambahkan Parameter Kueri: Kunci "name", Nilai "eq.Steph Curry" (di mana "eq" menunjukkan kesetaraan). Ini menyaring ke catatan yang cocok; yang tidak cocok menghasilkan array kosong.

testing with postgrest with wrong data
Menggunakan data yang salah untuk melakukan pencarian
using correct data to make a search in apidog with postgrest api
Menggunakan informasi yang benar untuk melakukan pencarian

Langkah 6: Jelajahi Operasi CRUD

API PostgREST unggul dalam CRUD penuh. Untuk POST (buat), gunakan badan Apidog sebagai JSON: {"name": "New Employee", "job": "Developer"} ke http://localhost:3000/humans. PUT memperbarui melalui http://localhost:3000/humans?id=eq.1 dengan data yang diperbarui. DELETE menggunakan http://localhost:3000/humans?id=eq.1. Filter canggih seperti pengurutan (order=name.asc) atau batasan (limit=5) meningkatkan kegunaan. Untuk contoh lengkap, konsultasikan dokumentasi resmi di https://docs.postgrest.org/en/v14/references/api/tables_views.html.

Proyek ini, yang berlangsung kurang dari satu jam, mengilustrasikan kehebatan API PostgREST dalam prototipe cepat. Skalakan dengan menambahkan kebijakan RLS di PostgreSQL untuk akses berbasis peran yang aman.

Pertanyaan yang Sering Diajukan

Q1. Apa saja persyaratan sistem untuk menjalankan API PostgREST?

Jwb: API PostgREST membutuhkan PostgreSQL 9.4 atau yang lebih baru, dengan Docker direkomendasikan untuk pengaturan yang dikontainerisasi. Ini berjalan efisien pada perangkat keras sederhana, membutuhkan setidaknya 512MB RAM untuk operasi dasar.

Q2. Bisakah API PostgREST menangani kueri kompleks di luar CRUD dasar?

Jwb: Ya, ini mendukung kemampuan SQL penuh PostgreSQL melalui panggilan RPC tertanam dan tampilan, memungkinkan gabungan, agregasi, dan fungsi kustom yang diekspos sebagai endpoint.

Q3. Bagaimana API PostgREST memastikan keamanan data?

Jwb: Ini terintegrasi secara native dengan Keamanan Tingkat Baris PostgreSQL dan izin berbasis peran, menegakkan kontrol akses di tingkat basis data tanpa kerentanan sisi API.

Q4. Apakah API PostgREST cocok untuk lingkungan produksi?

Jwb: Tentu saja, dengan fitur-fitur seperti autentikasi JWT, isolasi skema, dan penskalaan horizontal melalui beberapa instans. Pantau kinerja dan terapkan RLS untuk kepatuhan.

Q5. Bagaimana cara mengintegrasikan API PostgREST dengan kerangka kerja frontend?

Jwb: Gunakan klien HTTP seperti Axios atau Fetch; hasilkan tipe TypeScript dari spesifikasi OpenAPI untuk keamanan tipe dalam aplikasi React, Vue, atau Angular.

Kesimpulan

Dalam merenungkan eksplorasi kita, API PostgREST muncul sebagai solusi elegan untuk pengembangan berbasis basis data, mengubah kekuatan PostgreSQL menjadi layanan web yang dapat diakses. Dari pengaturan yang mudah hingga kueri yang canggih, ini memberdayakan Anda untuk memberikan API yang kuat dengan lebih sedikit overhead. Saya mendorong Anda untuk mereplikasi proyek contoh dan bereksperimen lebih lanjut—mungkin memperluasnya dengan autentikasi. Seiring aplikasi Anda berkembang, API PostgREST akan terbukti menjadi sekutu yang sangat diperlukan dalam menjaga kelincahan dan keandalan.

💡
Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
tombol

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.