Cara Menginstal PostgreSQL 14 di Fedora 40 atau 39 Linux

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
file konfigurasi pg_hba untuk PostgreSQL 14 di Fedora Linux
Contoh tangkapan layar file konfigurasi pg_hba untuk PostgreSQL 14 di Fedora Linux
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.

Joshua James
Ikuti aku
Postingan terbaru oleh Joshua James (Lihat semua)

Tinggalkan komentar