Panduan Lengkap Instalasi dan Konfigurasi PostgreSQL di Linux dengan Nginx

Panduan Lengkap Instalasi dan Konfigurasi PostgreSQL di Linux dengan Nginx

PostgreSQL adalah salah satu database relasional open-source yang banyak digunakan dalam berbagai aplikasi. Jika Anda menggunakan Linux dan ingin menjalankan PostgreSQL secara lokal dengan Nginx, ikuti langkah-langkah berikut.

Instal PostgreSQL

Pertama, pastikan sistem Anda sudah diperbarui:

update

sudo apt update
Kemudian, instal PostgreSQL beserta komponen tambahannya:

Install PostgreSQL

sudo apt install postgresql postgresql-contrib
Setelah instalasi selesai, pastikan PostgreSQL berjalan dengan perintah:

check status

sudo systemctl status postgresql
Jika belum berjalan, mulai PostgreSQL dengan:

start PostgreSQL

sudo systemctl start postgresql

Instal PHP Extension untuk PostgreSQL (Agar Bisa Menggunakan Adminer)

Jika Anda ingin menggunakan Adminer untuk mengelola database PostgreSQL, pastikan ekstensi PHP untuk PostgreSQL sudah terpasang:
sudo apt install php-pgsql
Setelah itu, restart layanan Nginx dan PHP-FPM:
sudo systemctl restart php-fpm
sudo systemctl restart nginx

Membuat User dan Database Baru

PostgreSQL tidak menggunakan user root secara default. Oleh karena itu, kita harus membuat user baru secara manual.
Masuk ke PostgreSQL sebagai user postgres:
sudo -i -u postgres
psql
Jalankan perintah berikut untuk membuat user baru dengan hak akses superuser serta database baru:
CREATE USER myuser WITH PASSWORD 'mypassword';
ALTER ROLE myuser WITH SUPERUSER;
CREATE DATABASE mydatabase OWNER myuser;
keluar dari PostgreSQL
\q

Mengubah Metode Autentikasi PostgreSQL (Dari Peer ke md5)

Secara default, PostgreSQL menggunakan metode autentikasi peer, yang mengharuskan user sistem memiliki nama yang sama dengan user PostgreSQL. Untuk mengizinkan login dengan password, ubah metode autentikasi ke md5.
Edit file konfigurasi PostgreSQL:
sudo nano /etc/postgresql/*/main/pg_hba.conf
(Gantilah * dengan versi PostgreSQL yang terinstal, cek dengan psql --version.)
Cari baris berikut:
local   all             all                                     peer
ubah menjadi
local   all             all                                     md5
Simpan perubahan dengan menekan Ctrl + X, lalu Y, dan tekan Enter.
Restart PostgreSQL agar perubahan diterapkan:
sudo systemctl restart postgresql

Mengonfigurasi DATABASE_URL untuk Menggunakan PostgreSQL Lokal

Jika aplikasi Anda menggunakan file .env atau variabel lingkungan untuk koneksi database, ubah URL database menjadi:
DATABASE_URL="postgresql://myuser:mypassword@localhost:5432/mydatabase"

Memastikan Koneksi ke PostgreSQL Berjalan dengan Baik

Untuk menguji apakah koneksi ke PostgreSQL berhasil, jalankan perintah berikut di terminal:
psql "postgresql://myuser:mypassword@localhost:5432/mydatabase"
Jika berhasil masuk tanpa error, berarti PostgreSQL sudah siap digunakan secara lokal! 🚀