Sistem manajemen basis data relasional (RDBMS) adalah bagian penting dari banyak situs web dan aplikasi. Mereka menyediakan cara terstruktur untuk menyimpan, mengatur, dan mengambil data.
PostgreSQL, juga dikenal sebagai Postgres, adalah sistem manajemen database relasional yang menyediakan implementasi Structured Query Language (lebih dikenal sebagai SQL). Ini digunakan dalam banyak proyek populer (besar atau kecil), sesuai standar, dan menyediakan banyak fitur canggih, e.B. transaksi dan konkurensi yang andal tanpa kunci baca.
Dengan mengikuti panduan ini, Anda akan menginstal versi terbaru PostgreSQL di server CentOS 8.Prerequisites
Untuk tutorial ini, Anda memerlukan server yang menjalankan CentOS 8. Server ini harus memiliki pengguna non-root dengan hak administrator dan firewall yang dikonfigurasi dengan firewall. Untuk mengaturnya, ikuti panduan kami untuk menyiapkan server untuk CentOS 8.Step 1 — Menginstal PostgreSQL
PostgreSQL tersedia melalui repositori perangkat lunak AppStream standar CentOS 8; ada beberapa versi yang dapat Anda instal. Anda dapat memilih di antara versi ini dengan mengaktifkan kumpulan paket dan dependensi yang sesuai yang sesuai dengan versi yang ingin Anda instal. Koleksi individu disebut sebagai aliran modul.
Di DNF, manajer paket default centOS 8, modul adalah koleksi khusus paket RPM yang bersama-sama membentuk aplikasi yang lebih besar. Ini untuk membuat instalasi paket dan dependensinya lebih intuitif bagi pengguna.
Gunakan perintah dnf untuk mencantumkan aliran yang tersedia untuk modul postgresql:dnf module list postgresql
Outputpostgresql9.6client, server [d]PostgreSQL server dan client modulepostgresql10 [d]client, server [d]PostgreSQL server dan client modulepostgresql12client, server serverPostgreSQL dan modul klien
Dalam output ini, Anda dapat melihat bahwa ada tiga versi PostgreSQL di repositori AppStream: 9.6, 10, dan 12. Aliran yang menyediakan Postgres versi 10 adalah default seperti yang ditentukan oleh [d] berikut. Jika Anda ingin menginstal versi ini, Anda cukup menjalankan sudo dnf install postgresql-server dan melanjutkan ke langkah berikutnya. Meskipun versi 10 akan terus dikelola, tutorial ini akan menginstal Postgres versi 12, versi terbaru pada saat menulis teks ini.
Untuk menginstal PostgreSQL versi 12, Anda harus mengaktifkan Aliran Modul versi ini. Saat Anda mengaktifkan aliran modul, Anda mengganti aliran default dan membuat semua paket yang terkait dengan aliran yang diaktifkan tersedia untuk sistem. Perhatikan bahwa hanya satu aliran modul tertentu yang dapat diaktifkan pada satu waktu dalam suatu sistem.
Untuk mengaktifkan Aliran Modul untuk Postgres versi 12, jalankan perintah berikut:modul sudo dnf aktifkan postgresql:12
Saat diminta, tekan y lalu ENTER untuk mengonfirmasi bahwa Anda ingin mengaktifkan aliran:
Output====================================================================================PackageArchitectureVersionRepositorySize==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Setelah mengaktifkan Aliran Modul versi 12, Anda dapat menginstal paket postgresql-server untuk menginstal PostgreSQL 12 dan semua dependensinya:sudo dnf install postgresql-server
Saat command prompt muncul, konfirmasikan instalasi dengan menekan y lalu ENTER:
Hasil... Instal4 PackagesTotal ukuran unduhan: 16 M Ukuran yang sudah diinstal: 62 MIs ini ok [y /N]: y
Sekarang setelah perangkat lunak diinstal, lakukan beberapa langkah inisialisasi untuk menyiapkan kluster database baru untuk PostgreSQL. Langkah 2 — Buat kluster database PostgreSQL baru
Anda harus menyiapkan kluster database PostgreSQL baru sebelum Anda dapat membuat tabel dan memuat data ke dalam tabel tersebut. Cluster database adalah kumpulan database yang dikelola oleh satu instance server. Menyiapkan cluster database terdiri dari membuat direktori di mana data database ditempatkan. Tabel katalog umum serta template database1 dan postgres dibuat.
Database template1 adalah template yang digunakan untuk membuat database baru. Segala sesuatu yang disimpan dalam template1 (termasuk objek yang Anda tambahkan sendiri) disimpan dalam database baru saat dibuat. Database postgres adalah database standar yang dirancang untuk digunakan oleh pengguna pihak ketiga, utilitas, dan aplikasi.
Paket Postgres yang diinstal pada langkah sebelumnya menyediakan skrip praktis yang disebut postgresql-setup yang membantu manajemen dasar kluster database. Untuk membuat kluster database, jalankan skrip dengan sudo dan opsi --initdb:sudo postgresql-setup --initdb
Anda akan melihat output berikut:
Output * Menginsialisasi database di '/var/lib/pgsql/data'* Diinsial, log ada di /var/lib/pgsql/initdb_postgresql.log
Sekarang mulai layanan PostgreSQL dengan systemctl:sudo systemctl start postgresql
Kemudian gunakan systemctl lagi untuk mengaktifkan layanan dimulai setiap kali server dimulai:sudo systemctl enable postgresql
Ini akan memberi Anda output berikut:
OutputCreated symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
Sekarang PostgreSQL sedang berjalan, kita akan melihat menggunakan peran untuk mempelajari cara kerja Postgres dan bagaimana sistem berbeda dari sistem manajemen basis data serupa yang mungkin telah Anda gunakan di masa lalu. Langkah 3 — Menggunakan Peran dan Database PostgreSQL
PostgreSQL menggunakan konsep yang disebut peran untuk menangani otentikasi dan otorisasi klien. Ini mirip dalam beberapa hal dengan akun gaya Unix tradisional, tetapi Postgres tidak membedakan antara pengguna dan grup dan lebih memilih istilah "peran" yang fleksibel.
Setelah instalasi, Postgres menggunakan autentikasi identitas. Ini berarti bahwa peran Postgres dikaitkan dengan akun sistem Unix / Linux yang cocok. Jika ada peran di Postgres, nama pengguna Unix/Linux dengan nama yang sama dapat masuk sebagai peran itu.
Prosedur instalasi membuat akun pengguna bernama Postgres yang terkait dengan peran Postgres default. Untuk menggunakan PostgreSQL, Anda dapat masuk ke akun ini.
Ada beberapa cara untuk menggunakan akun ini untuk mengakses command prompt PostgreSQL. Beralih ke akun Postgres
Di server Anda, beralih ke akun Postgres dengan mengetik:sudo -i -u postgres
Anda sekarang dapat segera mengakses command prompt Postgres dengan mengetik:psql
Dengan ini, Anda masuk ke command prompt PostgreSQL dan dari sini Anda dapat segera bekerja dengan sistem manajemen database.
Keluar dari command prompt PostgreSQL dengan mengetik:\q
Ini akan mengembalikan Anda ke command prompt Linux dari akun Postgres. Sekarang kembali ke akun asli Anda sebagai berikut:keluarMengakses command prompt Postgres tanpa beralih akun
Anda juga dapat menggunakan sudo untuk menjalankan perintah untuk akun Postgres secara langsung.
Misalnya.B pada contoh terakhir, Anda diinstruksikan untuk pergi ke command prompt Postgres dengan terlebih dahulu beralih ke pengguna Postgres dan kemudian menjalankan psql untuk membuka command prompt Postgres. Atau, Anda dapat melakukan ini dalam satu langkah dengan menjalankan perintah psql tunggal sebagai pengguna Postgres dengan sudo, seperti:sudo -u postgres psql
Ini memungkinkan Anda untuk masuk langsung ke Postgres tanpa shell Bash perantara.