Cara Install Database PostgreSQL di Debian 10


PostgreSQL (terkadang disebut sebagai Postgres) adalah sistem database relasional objek dan tujuan umum sumber terbuka tercanggih dengan arsitektur terbukti yang berjalan di semua sistem operasi utama. Ini adalah sistem database berkinerja tinggi, stabil, terukur, dan dapat diperluas yang memberikan integritas data luar biasa dan mendukung add-on yang kuat.

Yang penting, PostgreSQL memungkinkan Anda menentukan tipe data Anda sendiri, menambahkan fungsi khusus, bahkan menulis kode dari bahasa pemrograman berbeda seperti C/C++, Java, dll, tanpa mengkompilasi ulang database Anda.

PostgreSQL digunakan oleh perusahaan Teknologi terkenal seperti Apple, Fujitsu, Red Hat, Cisco, Juniper Network, dll.

Pada artikel ini, kami akan menunjukkan kepada Anda cara memasang, mengamankan, dan mengonfigurasi server database PostgreSQL di Debian 10.

Persyaratan:

  1. Instal Server Minimal Debian 10 (Buster).

Menginstal Server PostgreSQL di Debian 10

Untuk menginstal server database PostgreSQL, gunakan manajer paket APT default, yang akan menginstal server dan klien PostgreSQL 11.

apt install postgresql-11 postgresql-client-11

Di Debian, seperti daemon lainnya, database Postgres diinisialisasi segera setelah instalasi paket selesai seperti yang ditunjukkan pada tangkapan layar berikut.

Untuk memeriksa apakah database Postgres benar-benar diinisialisasi, Anda dapat menggunakan utilitas pg_isready yang memeriksa status koneksi server PostgreSQL, sebagai berikut.

pg_isready 

Selain itu, di bawah systemd, layanan Postgres juga dimulai secara otomatis dan diaktifkan untuk memulai saat boot sistem. Untuk memastikan bahwa layanan aktif dan berjalan dengan baik, jalankan perintah berikut.

systemctl status postgresql

Berikut ini adalah perintah systemctl berguna lainnya untuk mengelola layanan Postgres di bawah systemd.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql
systemctl reload postgresql 		#this reloads the service configuration

Mengamankan dan Mengonfigurasi Basis Data PostgreSQL

Secara default, Postgres menggunakan konsep peran untuk mengelola izin akses database dan peran database secara konseptual benar-benar terpisah dari pengguna sistem operasi. Peran dapat berupa pengguna atau grup, dan peran yang memiliki hak masuk disebut pengguna.

Sistem yang baru diinisialisasi selalu berisi satu peran yang telah ditentukan sebelumnya yang disebut postgres, yang memiliki nama yang sama dengan akun pengguna sistem operasi yang disebut postgres, yang digunakan untuk mengakses psql (Postgres shell) dan program basis data lainnya.

Akun pengguna sistem Postgres tidak dilindungi menggunakan kata sandi, untuk mengamankannya, Anda dapat membuat kata sandi menggunakan utilitas passwd.

passwd postgres

Selain itu, peran Postgres (atau pengguna database administratif jika Anda mau) tidak diamankan secara default. Anda juga perlu mengamankannya dengan kata sandi. Sekarang beralihlah ke akun pengguna sistem postgres dan peran postgres (ingatlah untuk menetapkan kata sandi yang kuat dan aman) seperti yang ditunjukkan.

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Lalu keluar dari akun postgres untuk melanjutkan panduan ini.

Mengonfigurasi Otentikasi Klien

File konfigurasi Postgres utama terletak di /etc/postgresql/11/main/postgresql.conf. Selain file ini, Postgres menggunakan dua file konfigurasi lain yang diedit secara manual, yang mengontrol autentikasi klien.

Otentikasi klien dikontrol oleh file konfigurasi /etc/postgresql/11/main/pg_hba.conf. Postgres menyediakan banyak metode otentikasi klien yang berbeda termasuk otentikasi berbasis kata sandi. Koneksi klien diautentikasi berdasarkan alamat host klien, database, dan pengguna.

Jika Anda memilih untuk menggunakan autentikasi berbasis kata sandi, Anda dapat menerapkan salah satu metode berikut: md5 atau kata sandi yang cara kerjanya serupa kecuali cara kata sandi dikirimkan melalui koneksi , yaitu MD5-hashed dan teks-jelas.

Menggunakan otentikasi kata sandi md5 mencegah pencurian kata sandi oleh peretas dan menghindari penyimpanan kata sandi di server dalam teks biasa. Metode kata sandi hanya dapat digunakan dengan aman jika koneksi dilindungi oleh enkripsi SSL.

Untuk panduan ini, kami akan menunjukkan cara mengonfigurasi otentikasi kata sandi md5 untuk autentikasi klien.

vim /etc/postgresql/11/main/pg_hba.conf 

Cari baris berikut dan ubah metode otentikasi menjadi md5 seperti yang ditunjukkan pada tangkapan layar.

local   all             all                                     md5

Simpan perubahan pada file dan keluar. Kemudian terapkan perubahan terkini dengan memulai ulang layanan Postgres sebagai berikut.

systemctl restart postgresql

Membuat Database Baru dan Peran/Pengguna Database di PostgreSQL

Di bagian terakhir ini, kami akan menunjukkan cara membuat pengguna database baru dan peran database untuk mengelolanya. Pertama, beralih ke akun postgres dan buka shell Postgres sebagai berikut.

su - postgres
psql

Untuk membuat database bernama “test_db ” jalankan perintah SQL berikut.

postgres=# CREATE DATABASE test_db;

Kemudian buat pengguna database (peran dengan hak login) yang akan mengelola database baru sebagai berikut.

postgres=#CREATE USER test_user PASSWORD ‘securep@ss_here’;     #assumes login function by default

Untuk terhubung ke test_db sebagai pengguna test_user, jalankan perintah berikut.

 
psql -d  test_db  -U test_user

Untuk informasi selengkapnya, lihat dokumentasi PostgreSQL 11.

Kesimpulan

Itupun untuk saat ini! Dalam panduan ini, kami telah menunjukkan cara memasang, mengamankan, dan mengonfigurasi server database PostgreSQL di Debian 10. Apakah Anda memiliki pertanyaan atau pemikiran untuk dibagikan? Gunakan formulir komentar di bawah untuk menghubungi kami.