PostgreSQL 16 menandai pembaruan signifikan dalam dunia sistem manajemen basis data. Resmi dirilis pada 14 September 2023, PostgreSQL 16 memperkenalkan banyak fitur dan penyempurnaan baru, memperkuat posisinya sebagai solusi database yang kuat dan serbaguna untuk pengguna, administrator, dan pengembang.
Di bawah ini adalah beberapa fitur utama PostgreSQL 16:
- Peningkatan Paralelisasi: PostgreSQL 16 memungkinkan paralelisasi gabungan hash OUTER LENGKAP dan internal kanan, yang secara signifikan meningkatkan kinerja kueri.
- Perbaikan Replikasi: Ini memperkenalkan kemampuan replikasi logis dari server siaga dan memungkinkan pelanggan untuk menerapkan transaksi besar secara paralel.
- Kemampuan Pemantauan: Menambahkan tampilan pg_stat_io memungkinkan pemantauan statistik I/O yang lebih mendalam.
- Dukungan SQL/JSON: Rilis ini memperkenalkan konstruktor SQL/JSON dan fungsi identitas, sehingga memperluas kemampuan penanganan datanya.
- Kinerja Pembekuan Vakum: PostgreSQL 16 meningkatkan kinerja pembekuan vakum, membantu pemeliharaan basis data yang efisien.
- Pencocokan Ekspresi Reguler: Pencocokan ekspresi reguler untuk nama pengguna dan database di pg_hba.conf dan nama pengguna di pg_ident.conf meningkatkan keamanan dan fleksibilitas.
Sekarang, mari kita lanjutkan ke cara teknis dan mempelajari proses instalasi PostgreSQL 16.
Prasyarat untuk Menginstal PostgreSQL 16
Agar berhasil menginstal PostgreSQL 16 di Ubuntu, pastikan Anda memenuhi persyaratan berikut:
Perangkat Keras yang Direkomendasikan dan Versi Ubuntu yang Didukung
Komponen | Persyaratan |
---|---|
Prosesor | Prosesor kompatibel 1 gigahertz (GHz) atau lebih cepat |
RAM | 2 GB atau lebih |
Ruang Disk | HDD 512 MB (ruang disk tambahan diperlukan untuk data atau komponen pendukung) |
Versi yang Didukung | Ubuntu 24.04 (Mulia), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Fokus) |
Persyaratan Tambahan
Persyaratan | Keterangan |
---|---|
Koneksi Internet | Diperlukan untuk mengunduh PostgreSQL 16 dan pembaruan di masa mendatang. |
Konvensi Terminal | Semua perintah terminal harus dijalankan sebagai pengguna biasa dengan sudo hak istimewa. |
Perintah CLI | Gunakan Command Line Interface (CLI) untuk instalasi dan pengaturan. |
Impor Repositori APT PostgreSQL
Perbarui Ubuntu Sebelum Instalasi PostgreSQL 16
Mulailah dengan memastikan sistem Ubuntu Anda mutakhir. Langkah ini penting untuk menjaga stabilitas dan kompatibilitas sistem:
sudo apt update
Selanjutnya, perbarui paket apa pun yang sudah kedaluwarsa:
sudo apt upgrade
Instal Paket Awal untuk PostgreSQL 16
Untuk membantu dalam menginstal perangkat lunak database, instal paket berikut:
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl -y
Tambahkan Repositori PostgreSQL 16 APT
Pertama, impor kunci GPG PostgreSQL. Ini tentang memastikan paket yang akan Anda instal adalah asli dan tidak diubah:
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null
Memilih Repositori PostgreSQL 16 yang Tepat
Sekarang, saatnya memilih repositori PostgreSQL 16 yang sesuai dengan kebutuhan Anda.
Repositori Stabil untuk Produksi / Penggunaan Umum
Repositori stabil adalah pilihan Anda bagi sebagian besar pengguna, terutama di lingkungan produksi. Ini diperbarui secara berkala dengan versi yang stabil dan aman:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list
Snapshot atau Repositori Pengujian untuk Pengembang
Pertimbangkan repositori snapshot atau pengujian jika Anda sedang dalam tahap pengembangan atau pengujian. Namun perlu diingat bahwa ini bukan untuk keperluan produksi karena sifatnya yang kurang stabil.
Repositori Snapshot untuk Pengujian Mutakhir
Ambil snapshot terbaru di sini:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-snapshot main | sudo tee /etc/apt/sources.list.d/postgresql.list
Uji Repositori untuk Fitur Terbaru
Untuk menguji fitur-fitur terbaru, perintah ini akan menyiapkan Anda:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql.list
Instal PostgreSQL 16 melalui Perintah Terminal
Segarkan Daftar Sumber Indeks Paket APT
Setelah menambahkan repositori PostgreSQL stabil atau pengujian, penting untuk memperbarui daftar sumber repositori Anda. Tindakan ini memastikan sistem Anda mengenali repositori PostgreSQL yang baru ditambahkan:
sudo apt update
Instal PostgreSQL 16 melalui Perintah APT
Sekarang, mari beralih ke instalasi PostgreSQL 16. Perintah ini menginstal klien dan server PostgreSQL:
sudo apt install postgresql-client-16 postgresql-16
Memverifikasi Instalasi PostgreSQL
Setelah instalasi selesai, sangat penting untuk memastikan bahwa PostgreSQL telah diinstal dan dijalankan dengan benar. Perintah ini memeriksa status layanan PostgreSQL:
systemctl status postgresql
Mengaktifkan PostgreSQL 16
Jika PostgreSQL tidak aktif, gunakan perintah ini untuk memulai layanan PostgreSQL. Hal ini juga memastikan bahwa PostgreSQL dimulai secara otomatis dengan sistem Anda:
sudo systemctl enable postgresql --now
Mengelola Layanan PostgreSQL 16
Menghentikan Server PostgreSQL 16
Untuk menghentikan layanan PostgreSQL sementara, mungkin untuk pemeliharaan atau perubahan konfigurasi, gunakan perintah ini:
sudo systemctl stop postgresql
Memulai Server PostgreSQL 16
Saat Anda siap untuk memulai layanan PostgreSQL, terutama setelah penghentian atau instalasi awal, perintah ini berguna:
sudo systemctl start postgresql
Memulai ulang Server PostgreSQL 16
Dalam skenario ketika Anda mengubah konfigurasi atau pembaruan, restart sering kali diperlukan. Perintah ini memulai ulang layanan PostgreSQL, menerapkan perubahan baru:
sudo systemctl restart postgresql
Memuat ulang Server PostgreSQL 16
Untuk memuat ulang layanan PostgreSQL tanpa mengganggu pengoperasiannya, gunakan perintah ini. Ini berguna ketika Anda perlu menerapkan perubahan konfigurasi kecil:
sudo systemctl reload postgresql
Memeriksa Status PostgreSQL 16
Untuk memverifikasi status operasional layanan PostgreSQL, termasuk apakah layanan tersebut aktif dan berjalan tanpa masalah, gunakan:
systemctl status postgresql
Mengaktifkan PostgreSQL 16 pada Boot Sistem
Jika PostgreSQL tidak diatur untuk memulai secara otomatis, perintah ini akan mengaktifkannya, memastikan PostgreSQL segera aktif dan pada boot sistem berikutnya:
sudo systemctl enable postgresql --now
Contoh Dasar Perintah dengan PostgreSQL 16
Mengakses Akun Pengguna Postgres
Di PostgreSQL, pengguna 'postgres' adalah peran pengguna super default. Akun ini sangat penting untuk menjalankan perintah administratif. Untuk beralih ke akun ini, gunakan:
sudo -i -u postgres
Setelah berada di akun, masuk ke antarmuka baris perintah PostgreSQL:
psql
Perintahnya postgres=#
mengonfirmasi koneksi Anda ke lingkungan PostgreSQL. Untuk keluar, cukup ketik exit
.
Akses Cepat ke PostgreSQL Tanpa Peralihan Pengguna
Untuk operasi cepat tanpa mengubah akun pengguna, akses langsung PostgreSQL:
sudo -u postgres psql
Perintah ini menghemat waktu untuk tugas-tugas rutin. Untuk keluar dari antarmuka ini, ketik exit
.
Membuat Peran Pengguna PostgreSQL Baru
Fleksibilitas PostgreSQL memungkinkan pengguna super membuat peran pengguna. Untuk menetapkan peran pengguna baru, jalankan perintah ini:
sudo su - postgres -c "createuser <username>"
Mengganti <username>
dengan nama pengguna yang Anda inginkan.
Memulai Database PostgreSQL Baru
Untuk menyiapkan database baru untuk pengguna Anda:
sudo su - postgres -c "createdb <database_name>"
Mengganti <database_name>
dengan nama yang dimaksudkan untuk database Anda.
Menetapkan Hak Istimewa Pengguna ke Database
Tetapkan akses database dengan aman:
sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>;
Pengganti <database_name>
Dan <username>
sesuai kebutuhan. Akhiri dengan mengetik exit
.
Konfigurasikan Firewall UFW untuk PostgreSQL 16
Memasang dan Mengaktifkan Firewall UFW
Pastikan UFW (Uncomplication Firewall) diinstal dan diaktifkan di sistem Anda. UFW menyederhanakan manajemen firewall dan penting untuk mengamankan lalu lintas jaringan:
sudo apt install ufw
sudo ufw enable
Menyiapkan Aturan UFW untuk PostgreSQL 16
PostgreSQL berkomunikasi pada port 5432 secara default. UFW perlu dikonfigurasi untuk mengizinkan lalu lintas pada port ini, terutama saat menghubungkan dari lokasi yang jauh.
Mengizinkan Akses Subnet
Untuk mengizinkan akses ke berbagai alamat IP dalam subnet, gunakan perintah ini:
sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432
Mengganti 192.168.1.0/24
dengan rentang subnet spesifik Anda.
Mengizinkan Akses IP Individu
Untuk memberikan akses ke PostgreSQL dari satu alamat IP, gunakan:
sudo ufw allow proto tcp from 192.168.1.0 to any port 5432
Memodifikasi 192.168.1.0
ke alamat IP yang ingin Anda izinkan.
Ini hanyalah contoh dasar. Anda harus mempertimbangkan untuk mengunci database apa pun yang dapat diakses oleh publik sebanyak mungkin dalam jangka panjang.
Konfigurasikan PostgreSQL 16
Aktifkan Akses Jarak Jauh di PostgreSQL 16
Mengonfigurasi PostgreSQL untuk menerima koneksi jarak jauh melibatkan penyesuaian alamat pendengaran dari antarmuka lokal default.
Memodifikasi Konfigurasi untuk Akses Jarak Jauh
Akses file konfigurasi PostgreSQL:
sudo nano /etc/postgresql/16/main/postgresql.conf
Di bagian “Pengaturan Koneksi”, ubah listen_addresses = 'localhost'
untuk kebutuhan spesifik Anda:
- Ganti 'localhost' dengan alamat IP yang diinginkan untuk satu IP.
- Untuk mengizinkan koneksi di semua antarmuka, gunakan
listen_addresses = '*'
.
Setelah melakukan perubahan, simpan dengan CTRL+O dan keluar dengan CTRL+X. Kemudian, mulai ulang PostgreSQL:
sudo systemctl restart postgresql
Verifikasi perubahan dengan:
ss -nlt | grep 5432
Pada output, Anda akan melihat port 5432 aktif.
Mengonfigurasi pg_hba.conf untuk Peningkatan Keamanan
Sunting itu pg_hba.conf
file untuk kontrol akses yang disempurnakan:
sudo nano /etc/postgresql/16/main/pg_hba.conf
Menyesuaikan Akses Pengguna dan Basis Data
Di dalam pg_hba.conf
, Anda dapat menentukan pengguna dan database mana yang dapat terhubung, dan dari alamat mana. Berikut beberapa konfigurasi umum:
- Akses Khusus Pengguna: Ganti 'semua' dengan nama pengguna tertentu untuk membatasi akses hanya kepada pengguna tersebut.
- Akses Khusus Basis Data: Menentukan database tertentu alih-alih mengizinkan akses ke semua database.
- Batasan Alamat: Tentukan alamat atau rentang IP tertentu (misalnya,
192.168.1.0/24
) untuk membatasi dari mana koneksi dapat berasal.
Memilih Metode Otentikasi
PostgreSQL mendukung berbagai metode otentikasi:
- MD5: Membutuhkan kata sandi dan mengenkripsinya dengan MD5.
- Kata sandi: Menggunakan kata sandi teks biasa (kurang aman, tidak disarankan untuk produksi).
- Rekan: Mengandalkan identitas pengguna tingkat OS (umum untuk koneksi lokal).
- Identitas: Mirip dengan 'peer', biasanya digunakan untuk koneksi jaringan.
- SCRAM-SHA-256: Metode yang lebih aman, direkomendasikan melalui MD5 atau kata sandi.
Menyetel Performa di postgresql.conf
Untuk pengoptimalan kinerja, pertimbangkan pengaturan ini di postgresql.conf
:
- shared_buffer: Menyesuaikan jumlah memori yang digunakan PostgreSQL untuk buffer memori bersama.
- pekerjaan_mem: Mengatur memori yang digunakan untuk operasi penyortiran dan hashing internal.
- max_connections: Mengontrol jumlah maksimum koneksi bersamaan ke database.
Pemantauan dan Diagnostik
Aktifkan logging terperinci untuk mendapatkan wawasan tentang kinerja dan masalah database:
- log_pernyataan: Setel ke 'semua' untuk mencatat setiap pernyataan SQL yang dieksekusi.
- log_durasi: Saat diaktifkan, mencatat durasi setiap pernyataan SQL yang diselesaikan.
Kesimpulan
Kami baru saja mempelajari panduan komprehensif untuk menyiapkan PostgreSQL 16 di Ubuntu, yang mencakup semuanya mulai dari instalasi dan konfigurasi akses jarak jauh hingga memperketat keamanan dengan aturan firewall. Ingat, meskipun PostgreSQL berjalan dengan baik, kunci sebenarnya terletak pada pemeliharaan rutin dan pemeriksaan keamanan.
Tautan Berguna
Berikut beberapa tautan bermanfaat terkait instalasi PostgreSQL 16 di Ubuntu Linux:
- Catatan Rilis PostgreSQL 16: Baca catatan rilis PostgreSQL 16 untuk mempelajari tentang fitur baru, penyempurnaan, dan perbaikan bug.
- Repositori GitHub PostgreSQL: Kunjungi repositori resmi PostgreSQL GitHub untuk mengakses kode sumber, melaporkan masalah, dan berkontribusi pada pengembangan.
- Dokumentasi PostgreSQL: Akses dokumentasi PostgreSQL yang komprehensif untuk panduan instalasi, konfigurasi, dan penggunaan terperinci.
- Komunitas PostgreSQL: Bergabunglah dengan komunitas PostgreSQL untuk terhubung dengan pengguna lain, berpartisipasi dalam diskusi, dan mendapatkan dukungan.