PostgreSQL 14 adalah sistem manajemen basis data relasional sumber terbuka yang terkenal dengan ketahanan, skalabilitas, dan rangkaian fiturnya yang ekstensif. Salah satu fitur utama yang diperkenalkan di PostgreSQL 14 adalah kemampuan untuk menangani pengurutan tambahan, yang secara signifikan meningkatkan kinerja kueri untuk beban kerja tertentu. Rilis ini juga meningkatkan pemrosesan paralel, penyedotan debu, dan pemrosesan JSON, menjadikannya pilihan tepat untuk lingkungan perusahaan dan pengembangan. Meskipun tertinggal beberapa versi dari rilis terbaru, PostgreSQL 14 tetap menjadi opsi yang andal dan didukung secara luas.
Untuk menginstal PostgreSQL 14 di Fedora 40 atau 39 menggunakan terminal baris perintah, Anda dapat mengimpor dan menginstal langsung dari build RPM PostgreSQL. Metode ini memastikan Anda memiliki versi terbaru dan memudahkan peningkatan di masa mendatang.
Perbarui Fedora Sebelum Instalasi PostgreSQL 14
Untuk memulai, perbarui sistem Fedora Anda untuk memastikan semua paket terkini. Langkah ini membantu mencegah potensi konflik selama instalasi PostgreSQL. Jalankan perintah di bawah ini:
sudo dnf update --refresh
Impor Repositori Kunci GPG RPM PostgreSQL
Mulailah dengan mengimpor repositori PostgreSQL. Tindakan ini menjamin akses ke versi PostgreSQL terbaru. Pilih dan impor repositori yang sesuai dengan versi Fedora Linux Anda.
Impor PostgreSQL 14
Catatan: Ingatlah untuk mengimpor versi yang benar untuk versi distribusi Fedora Anda:
Untuk Fedora 40, gunakan perintah ini:
sudo dnf install http://apt.postgresql.org/pub/repos/yum/reporpms/F-40-x86_64/pgdg-fedora-repo-latest.noarch.rpm
Untuk Fedora 39, perintahnya sedikit berbeda:
sudo dnf install http://apt.postgresql.org/pub/repos/yum/reporpms/F-39-x86_64/pgdg-fedora-repo-latest.noarch.rpm
Nonaktifkan Modul PostgreSQL Default (Jika Berlaku)
Repositori default Fedora sering kali menyertakan PostgreSQL sebagai modul. Untuk memprioritaskan instalasi dari repositori PostgreSQL, disarankan untuk menonaktifkan modul default ini. Gunakan perintah berikut untuk melakukannya:
sudo dnf -qy module disable postgresql
Selesaikan Instalasi PostgreSQL 14
Lanjutkan dengan menginstal PostgreSQL 14
.Gunakan perintah ini untuk menginstal server PostgreSQL 14 dan dokumentasinya:
sudo dnf install postgresql14-server postgresql14-docs -y
Selain itu, Anda dapat menginstal paket pengembangan sebagai berikut.
sudo dnf install postgresql14-devel
Terakhir, Anda dapat menginstal beberapa modul, binari, dan pustaka tambahan yang umum digunakan.
sudo dnf install postgresql14-libs postgresql14-odbc postgresql14-plperl postgresql14-plpython3 postgresql14-pltcl postgresql14-tcl postgresql14-contrib postgresql14-llvmjit
Inisialisasi Basis Data PostgreSQL 14
Setelah terinstal, Anda harus menjalankan perintah berikut untuk menginisialisasi database; kegagalan melakukan hal ini akan mencegah PostgreSQL berfungsi.
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
Aktifkan Layanan Systemd PostgreSQL 14
Secara default, PostgreSQL tidak diaktifkan. Gunakan perintah berikut untuk segera memulai layanan dan saat boot sistem.
sudo systemctl enable postgresql-14 --now
Verifikasi Instalasi PostgreSQL 14
Selanjutnya, verifikasi status untuk memastikan perangkat lunak diinstal dan diaktifkan tanpa kesalahan menggunakan perintah berikut.
systemctl status postgresql-14
Perintah Layanan Systemd untuk PostgreSQL 14
Mengelola Layanan PostgreSQL 14
Server database PostgreSQL beroperasi sebagai layanan systemd bernama “postgresql-14” di Fedora. Administrator sistem dapat mengelola layanan ini menggunakan serangkaian perintah systemd yang penting untuk pemeliharaan rutin dan pemecahan masalah.
Menghentikan Server PostgreSQL 14
Untuk menghentikan layanan PostgreSQL, mungkin untuk pemeliharaan atau perubahan konfigurasi, gunakan perintah ini:
sudo systemctl stop postgresql-14
Memulai Server PostgreSQL 14
Untuk memulai layanan PostgreSQL, terutama setelah penghentian atau instalasi awal, gunakan perintah berikut:
sudo systemctl start postgresql-14
Memulai ulang Server PostgreSQL 14
Perintah restart berguna jika Anda perlu menerapkan konfigurasi baru atau mereset layanan PostgreSQL. Itu berhenti dan kemudian memulai layanan dalam satu tindakan:
sudo systemctl restart postgresql-14
Memuat ulang Server PostgreSQL 14
Perintah reload sangat ideal untuk menerapkan perubahan konfigurasi tanpa menghentikan database. Ini menyegarkan layanan tanpa mengganggu operasi database:
sudo systemctl reload postgresql-14
Memeriksa Status Layanan PostgreSQL 14
Untuk memverifikasi status operasional layanan PostgreSQL, gunakan perintah ini. Ini memberikan informasi tentang status layanan, termasuk apakah layanan aktif, tidak aktif, atau mengalami masalah:
systemctl status postgresql-14
Konfigurasikan PostgreSQL 14
Beralih ke Akun Postgres 14
Mengakses Akun Postgres 14
Selama instalasi PostgreSQL, akun pengguna bernama 'postgres' dibuat secara otomatis. Akun ini dikaitkan dengan peran Postgres default, yang memiliki hak pengguna super. Untuk mengakses database PostgreSQL, beralihlah ke akun 'postgres' menggunakan perintah:
sudo -i -u postgres
Memasuki Prompt PostgreSQL 14
Setelah beralih ke pengguna 'postgres', akses prompt PostgreSQL secara langsung dengan mengetik psql. Setelah koneksi berhasil, perintah terminal berubah menjadi postgres=#, menunjukkan koneksi aktif ke database.
Untuk keluar dari database PostgreSQL, cukup ketik:
psql
Metode Alternatif untuk Mengakses PostgreSQL 14
Menggunakan Sudo untuk Akses Langsung
Alternatifnya, berinteraksi dengan database PostgreSQL tanpa berpindah akun dengan menggunakan:
exit
Alternatif untuk berpindah akun Postgres
Cara alternatif untuk berinteraksi dengan database Postgres tanpa mengubah akun pengguna adalah dengan menggunakan perintah sudo untuk terhubung secara langsung. Anda dapat melakukannya dengan mengetik:
sudo -u postgres psql
Perintah ini efisien untuk interaksi cepat dengan database karena melewati perintah terminal tambahan.
Untuk keluar, seperti metode pertama, ketik exit.
exit
Buat Pengguna & Basis Data dengan PostgreSQL 14
Membuat Peran Pengguna Baru
Hanya pengguna super dan peran dengan hak istimewa createrole yang dapat membuat peran baru. Untuk membuat pengguna, gunakan perintah:
sudo su - postgres -c "createuser <name>"
Mengganti dengan nama pengguna yang diinginkan.
Membuat Basis Data Baru
Selanjutnya, buat database PostgreSQL untuk pengguna yang baru dibuat:
sudo su - postgres -c "createdb <namedb>"
Mengganti dengan nama basis data yang diinginkan.
Pemberian Izin
Untuk memberikan izin kepada pengguna baru di database baru, sambungkan terlebih dahulu ke database PostgreSQL sebagai pengguna super:
sudo -u postgres psql
Lalu, berikan semua hak istimewa kepada pengguna baru:
GRANT ALL PRIVILEGES ON DATABASE <usernamedb> TO <name>;
Mengganti dengan nama database dan dengan nama pengguna. Untuk keluar, ketik exit.
exit
Konfigurasikan Firewall untuk PostgreSQL 14
Menetapkan Aturan Firewall untuk PostgreSQL 14
Mengamankan PostgreSQL melibatkan lebih dari sekedar menginstal dan menjalankan layanan; sangat penting untuk mengonfigurasi kontrol akses jaringan secara efektif. Ini mengamankan database dan memastikan bahwa hanya lalu lintas sah yang mencapainya. Kita akan menyiapkan firewalld, manajer firewall dinamis di Fedora, untuk melindungi PostgreSQL.
Membuat Zona Firewall untuk PostgreSQL
Pertama, buat zona khusus di firewalld untuk PostgreSQL. Pendekatan ini memungkinkan kontrol yang lebih terperinci dan kejelasan dalam mengelola aturan khusus PostgreSQL:
sudo firewall-cmd --permanent --new-zone=postgres
Perintah ini menetapkan zona 'postgres', mengisolasi aturan firewall terkait PostgreSQL untuk memudahkan pengelolaan.
Membatasi Akses ke Alamat IP yang Dikenal
Mengizinkan Akses dari Satu Alamat IP
Untuk skenario ketika hanya satu klien atau server yang boleh mengakses PostgreSQL:
sudo firewall-cmd --permanent --zone=postgres --add-source=1.2.3.4
Ganti 1.2.3.4 dengan alamat IP spesifik yang memerlukan akses ke database.
Mengizinkan Subnet
Di lingkungan seperti jaringan perusahaan, mengizinkan seluruh subnet mungkin diperlukan:
sudo firewall-cmd --permanent --zone=postgres --add-source=192.168.1.0/24
Di sini, 192.168.1.0/24 mewakili subnet. Sesuaikan nilai ini agar sesuai dengan jangkauan jaringan yang diinginkan.
Memberikan Akses ke Beberapa IP Tertentu
Untuk skenario dengan beberapa IP dikenal yang memerlukan akses:
sudo firewall-cmd --permanent --zone=postgres --add-source=1.2.3.4
sudo firewall-cmd --permanent --zone=postgres --add-source=1.2.3.5
Ulangi perintah ini untuk setiap alamat IP.
Mengelola Akses Port untuk PostgreSQL 14
Mengonfigurasi Port PostgreSQL Default
Untuk instalasi standar menggunakan port default:
sudo firewall-cmd --permanent --zone=postgres --add-port=5432/tcp
Menyesuaikan Konfigurasi Port
Jika PostgreSQL beroperasi pada port non-standar (misalnya, 5433):
sudo firewall-cmd --permanent --zone=postgres --add-port=5433/tcp
Ubah nomor port sesuai dengan konfigurasi spesifik PostgreSQL Anda.
Menerapkan dan Memverifikasi Aturan Firewall Baru
Menerapkan Perubahan
Untuk mengaktifkan aturan baru, muat ulang firewalld:
sudo firewall-cmd --reload
Langkah ini memastikan bahwa konfigurasi baru segera berlaku.
Memeriksa Konfigurasi
Pasca konfigurasi, sebaiknya tinjau aturan yang ditetapkan untuk zona 'postgres':
sudo firewall-cmd --list-all --zone=postgres
Perintah ini menampilkan semua aturan aktif di zona 'postgres', memungkinkan verifikasi setup.exp
Konfigurasi Akses Jarak Jauh untuk PostgreSQL 14
Menyiapkan Antarmuka Mendengarkan untuk Akses Jarak Jauh
Memodifikasi Konfigurasi PostgreSQL
Untuk mengaktifkan akses jarak jauh ke PostgreSQL, diperlukan penyesuaian pengaturan antarmuka di file postgresql.conf. Proses ini memungkinkan PostgreSQL menerima koneksi dari berbagai sumber.
Pastikan pengaturan FirewallD diterapkan untuk mengizinkan akses jarak jauh, seperti dijelaskan di bagian sebelumnya.
Mengakses File Konfigurasi
Untuk mengubah konfigurasi PostgreSQL 14, gunakan editor teks nano:
sudo nano /var/lib/pgsql/14/data/postgresql.conf
Mengedit Alamat Mendengarkan
Di bagian “Pengaturan Koneksi”, ubah alamat_listen dari 'localhost' sesuai kebutuhan Anda:
- Dengarkan di Semua Antarmuka: Untuk menerima koneksi dari sumber mana pun, setel alamat_listen ke '*'.
listen_addresses = '*'
- Dengarkan pada Antarmuka Tertentu: Tentukan alamat IP untuk membatasi koneksi ke antarmuka tertentu.
listen_addresses = '192.168.1.100'
Setelah diedit, simpan file (Ctrl+O, lalu Enter) dan keluar (Ctrl+X).
Memulai ulang Layanan PostgreSQL 14
Terapkan perubahan dengan memulai ulang layanan PostgreSQL:
sudo systemctl restart postgresql-14
Mengonfirmasi Port Mendengarkan
Gunakan utilitas ss untuk memverifikasi bahwa PostgreSQL mendengarkan pada port yang ditentukan:
ss -nlt | grep 5432
Jika berhasil, Anda akan melihat port di port terminal Anda.
Pengaturan Koneksi Jarak Jauh Tingkat Lanjut di pg_hba.conf
Menyesuaikan Akses di File pg_hba.conf
Untuk kontrol yang lebih baik atas koneksi jarak jauh, file pg_hba.conf menawarkan berbagai opsi penyesuaian.
Mengedit pg_hba.conf
Buka berkas pg_hba.conf:
sudo nano /var/lib/pgsql/14/data/pg_hba.conf
Mengonfigurasi Aturan Akses Jarak Jauh
Mengizinkan Pengguna dan Basis Data Tertentu
Untuk membatasi akses ke pengguna dan database tertentu dari alamat IP tertentu:
host database saya pengguna saya 192.168.1.100/32 md5
Mengizinkan Subnet
Untuk akses yang lebih luas, misalnya seluruh subnet:
tuan rumah semua 192.168.1.0/24 md5
Menggunakan Metode Otentikasi yang Berbeda
Pilih metode autentikasi yang sesuai dengan lingkungan Anda. Untuk autentikasi berbasis kata sandi:
tuan rumah semua semua 0.0.0.0/0 md5
Untuk otentikasi kepercayaan (perhatikan risiko keamanan):
tuan rumah semua kepercayaan 0.0.0.0/0
Setelah mengonfigurasi aturan yang diinginkan, simpan dan keluar dari editor.
Menerapkan dan Memverifikasi Perubahan
Mulai ulang PostgreSQL untuk menerapkan konfigurasi baru:
sudo systemctl restart postgresql-14
Verifikasi pengaturan efektif di pg_hba.conf menggunakan:
cat /var/lib/pgsql/14/data/pg_hba.conf
Konfigurasi SELinux untuk PostgreSQL 14
Saat mengonfigurasi PostgreSQL 14 di Fedora, penting untuk mengatur SELinux (Linux yang Ditingkatkan Keamanan) dengan benar. SELinux menambahkan lapisan keamanan dengan menerapkan kebijakan kontrol akses. Kesalahan konfigurasi dapat menyebabkan masalah umum seperti penolakan akses atau gangguan layanan.
Mengatur SELinux ke Mode Permisif untuk Pemecahan Masalah
Menyesuaikan Sementara Mode SELinux
Jika Anda mengalami masalah dengan PostgreSQL yang memulai atau berfungsi dengan benar, pertimbangkan untuk mengatur SELinux untuk sementara ke mode 'Permisif'. Mode ini mengizinkan operasi yang akan diblokir dalam mode 'Menegakkan' tetapi mencatatnya untuk ditinjau:
sudo setenforce 0
Log Pemantauan untuk Penolakan AVC
Periksa log SELinux untuk penolakan AVC (Access Vector Cache):
sudo restorecon -Rv /var/lib/pgsql/14/data/
Perintah ini membantu mengidentifikasi kebijakan SELinux yang mencegah PostgreSQL berfungsi dengan benar.
Mengonfigurasi Kebijakan SELinux untuk PostgreSQL 14
Memulihkan Konteks SELinux Default
Untuk memastikan file memiliki konteks SELinux yang benar, gunakan perintah recoverycon. Konteks yang salah pada direktori atau file PostgreSQL dapat menyebabkan masalah akses:
sudo setsebool -P postgresql_can_rnetwork 1
Perintah ini mengaktifkan boolean postgresql_can_rnetwork, memungkinkan koneksi jaringan.
Konfigurasi SELinux Tingkat Lanjut
Menyesuaikan Kebijakan SELinux
Dalam pengaturan yang lebih kompleks, seperti ketika PostgreSQL berinteraksi dengan layanan lain atau port khusus, pembuatan kebijakan SELinux khusus mungkin diperlukan. Manfaatkan alat audit2allow untuk menghasilkan modul kebijakan khusus berdasarkan kebutuhan spesifik.
Menerapkan Kebijakan Kustom
Setelah membuat kebijakan khusus, terapkan kebijakan tersebut menggunakan:
sudo semodule -i my_postgresql.pp
Ganti my_postgresql.pp dengan nama file kebijakan Anda.
Memverifikasi Pengaturan SELinux
Memeriksa Status SELinux
Konfirmasikan status SELinux untuk memastikannya diatur dengan benar untuk instalasi PostgreSQL Anda:
sestatus
Memvalidasi Konteks File
Verifikasi bahwa file dan direktori yang terkait dengan PostgreSQL memiliki konteks SELinux yang sesuai:
ls -Z /var/lib/pgsql/14/data/
Kesimpulan
Dengan PostgreSQL 14 berhasil diinstal pada sistem Fedora Anda, Anda dapat memanfaatkan fitur-fitur canggih dan kinerja tangguh untuk kebutuhan database Anda. Periksa secara teratur pembaruan dan peningkatan di masa mendatang dari build RPM PostgreSQL agar sistem Anda tetap mutakhir.
Untuk informasi lebih lanjut tentang penggunaan PostgreSQL, kunjungi situs resminya dokumentasi.