PostgreSQL adalah sistem manajemen database relasional objek opensource gratis. Tujuan dari tutorial ini adalah untuk melakukan instalasi dan konfigurasi dasar server PostgreSQL pada server Linux RHEL 8 / CentOS 8.
Dalam tutorial ini Anda akan mempelajari:
- Cara menginstal server database PostgreSQL di RHEL 8 / CentOS 8
- Cara memulai dan mengaktifkan server database PostgreSQL
- Cara mengakses database PostgreSQL dari localhost dan lokasi jauh
- Cara menyetel sandi untuk
postgres
default pengguna - Cara mengaktifkan PostgreSQL untuk mendengarkan di semua jaringan
- Cara mengamankan koneksi jarak jauh PostgreSQL dengan otentikasi kata sandi MD5
- Cara membuka port firewall PostgreSQL
- Cara membuat koneksi jarak jauh ke server PostgreSQL menggunakan
psql
klien
Menginisialisasi dan mengakses database PostgreSQL di Red Hat Enterprise Linux 8
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | RHEL 8 / CentOS 8 |
Perangkat Lunak | Server PostgreSQL 10.5-1.el8 |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah. |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Petunjuk langkah demi langkah Instalasi PostgreSQL Lokal dan akses database
- Instal server PostreSQL. Jalankan
dnf
di bawah ini perintah untuk melakukan instalasi paket server PostreSQL:# dnf install postgresql-server
- Inisialisasi database PostgreSQL:
# postgresql-setup --initdb --unit postgresql * Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
- Mulai PostgreSQL dan secara opsional aktifkan untuk memulai setelah reboot.
# systemctl start postgresql # systemctl enable postgresql
Pada titik ini server PostreSQL harus aktif dan berjalan dan mendengarkan pada port localhost
5432
. Gunakanss
perintah untuk mengonfirmasi bahwa ini masalahnya:$ ss -nlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:111 0.0.0.0:* LISTEN 0 32 192.168.122.1:53 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 127.0.0.1:5432 0.0.0.0:* LISTEN 0 128 [::]:111 [::]:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 128 [::1]:5432 [::]:*
- Mengakses database PostreSQL. Saat Anda menginstal database PostgreSQL pada sistem RHEL 8 / CentOS 8 Anda, penginstal juga akan secara otomatis membuat pengguna default baru
postgres
.Kata sandi default untuk
postgres
pengguna tidak disetel, karenanya kosong. Untuk mengakses database PostgreSQL terlebih dahulu jalankansu
perintah sebagai pengguna root untuk beralih ke pengguna postres. Kemudian, ketikpsql
untuk login ke database.CATATAN
Setiap upaya untuk mengakses database PostgreSQL sebagai pengguna root akan menghasilkanpsql: FATAL: role "root" does not exist
pesan kesalahan.Contoh:
# su - postgres $ psql psql (10.5) Type "help" for help. postgres=#
CATATAN
Untuk keluar dari shell database PostreSQL ketik\q
atau tekanCTRL+d
kombinasi tombol.
Akses jarak jauh database PostgreSQL dan koneksi aman
- Tetapkan kata sandi untuk
postgres
user.Untuk mengakses server PostreSQL dari jarak jauh, pertama-tama kita akan menetapkan kata sandi untukpostres
user:# su - postgres $ psql psql (10.5) Type "help" for help. postgres=# \password postgres Enter new password: Enter it again: postgres=# exit postgres-# \q
- Aktifkan server PostgreSQL untuk mendengarkan di semua jaringan yang tersedia. Edit file konfigurasi utama
/var/lib/pgsql/data/postgresql.conf
:# nano /var/lib/pgsql/data/postgresql.conf
Setelah siap tambahkan baris berikut di suatu tempat ke CONNECTIONS AND AUTHENTICATION bagian:
listen_addresses = '*'
PERINGATAN
Konfigurasi di atas akan memungkinkan PostreSQL untuk mendengarkan di semua jaringan yang tersedia. Disarankan untuk menetapkan aturan yang lebih ketat untuk mengizinkan akses ke PostgreSQL hanya dari jaringan yang dipilih.Gunakan
ss
perintah untuk mengonfirmasi bahwa PostgreSQL mendengarkan0.0.0.0
jaringan:$ ss -nlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:111 0.0.0.0:* LISTEN 0 32 192.168.122.1:53 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128 [::]:111 [::]:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 128 [::]:5432 [::]:*
- Aktifkan otentikasi sandi terenkripsi MD5:
# echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf
- Terapkan perubahan konfigurasi PostgreSQL:
# systemctl restart postgresql
- Buka port firewall
5432
untuk lalu lintas masuk PostgreSQL jarak jauh:# firewall-cmd --zone=public --permanent --add-service=postgresql # firewall-cmd --reload
- Hubungkan ke server database PostgreSQL dari lokasi yang jauh. Pertama-tama instal
psql
Alat klien PostgreSQL di host jarak jauh Anda:RHEL/CENTOS # dnf install postgresql UBUNTU/DEBIAN # apt install postgresql-client
Buat koneksi jarak jauh ke host mis.
192.168.1.151
sebagaipostgres
pengguna dan kata sandi pengguna seperti yang didefinisikan di atasLangkah 1 :$ psql -h 192.168.1.151 -U postgres Password for user postgres: psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5) Type "help" for help. postgres=#