Cara instal PostgreSQL di CentOS 9 + membuat peran dan database

Cara instal PostgreSQL di CentOS 9 + membuat peran dan database

PostgreSQL adalah sistem manajemen database relasional (RDBMS) open-source yang dikenal dengan kemampuannya menangani data dalam jumlah besar, menjadikannya pilihan populer untuk aplikasi berskala besar.

Sistem ini juga kompatibel dengan berbagai tipe data, bahasa pemrograman, web stack, dan sistem operasi, termasuk distribusi Linux populer seperti CentOS.

Dalam tutorial ini, kami akan menjelaskan cara menginstal PostgreSQL di CentOS 9. Anda juga akan mempelajari pernyataan dan perintah dasar PostgreSQL untuk mengelola peran dan database.

Persiapan awal menginstal PostgreSQL di CentOS

Sebelum menginstal PostgreSQL di CentOS, pastikan server Anda memenuhi persyaratan hardware yang direkomendasikan:

  • Prosesor 1 GHz.
  • RAM minimal 2 GB.
  • Ruang penyimpanan minimal 512 MB. 

Sistem Anda juga harus menjalankan CentOS 9 karena langkah-langkah penginstalannya mungkin berbeda.

Apabila Anda belum memiliki server, cobalah paket hosting VPS Hostinger. Paket KVM 1 hanya seharga Rp78900.00/bulan sudah menyediakan 1 core vCPU, RAM 4 GB, dan penyimpanan 50 GB, yang lebih dari cukup untuk menghosting PostgreSQL.

Selain itu, Anda bisa dengan mudah menginstal berbagai sistem operasi Linux pada VPS Hostinger menggunakan template OS, tanpa perintah apa pun. Kami terus mengupdate template-template ini untuk mendukung distro-distro terbaru, termasuk CentOS 9.

Paket VPS Hostinger juga bisa mempermudah tugas-tugas manajemen database PostgreSQL Anda. Backup otomatis mingguan gratis dan pendeteksi malware kami membantu Anda melindungi data tanpa perlu repot dengan proses manual.

Apabila memerlukan bantuan untuk mengelola server, Anda cukup bertanya pada Kodee, asisten AI kami. Hanya dengan memberikan beberapa prompt sederhana, Anda akan mendapatkan panduan apa pun yang diperlukan, termasuk untuk menuliskan perintah.

Cara menginstal dan membuat database PostgreSQL di CentOS 9

Berikut adalah langkah-langkah untuk menginstal PostgreSQL di CentOS. Sebelum melanjutkan tutorialnya, buat koneksi ke server Anda menggunakan klien SSH seperti PuTTY, Terminal, atau Terminal browser Hostinger.

1. Download dan instal PostgreSQL

Anda bisa menginstal paket PostgreSQL dengan dua cara: melalui repositori resmi atau lokal. Dalam tutorial ini, kita akan menggunakan repositori resmi karena lebih cepat diupdate daripada repositori lokal. Berikut langkah-langkahnya:

  1. Tambahkan repositori PostgreSQL ke sistem Anda menggunakan perintah berikut:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  1. Nonaktifkan modul PostgreSQL bawaan sistem agar tidak menginstal versi yang salah:
sudo dnf -qy module disable postgresql
  1. Instal server PostgreSQL dengan menjalankan perintah ini. Apabila Anda memerlukan versi lain, ganti 17 dengan angka versi yang sesuai:
sudo dnf install -y postgresql17-server
  1. Mulai database agar menyiapkan file dan konfigurasi yang diperlukan untuk PostgreSQL:
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
  1. Mulai dan aktifkan PostgreSQL saat startup dengan menjalankan perintah-perintah berikut:
sudo systemctl enable postgresql-17

sudo systemctl start postgresql-17

Selesai! Sebelum mengakses database, pastikan PostgreSQL sudah berjalan dengan memeriksa statusnya menggunakan perintah berikut:

sudo systemctl status postgresql-17

2. Buat koneksi ke shell PostgreSQL

Untuk mengelola database, Anda harus tersambung ke shell baris perintah PostgreSQL atau psql. Lakukan dengan mengganti user ke root PostgreSQL, yang telah dikonfigurasi pada saat penginstalan:

sudo su postgres

Prompt shell Anda seharusnya berubah. Sekarang, masuk ke shell PostgreSQL menggunakan perintah berikut:

psql

Setelah command-line Anda berubah menjadi Postgres=#, Anda bisa mulai mengelola database. Untuk keluar dari prompt PostgreSQL dan kembali ke shell utama sistem, masukkan perintah berikut:

\q

3. Buat peran baru

Role atau peran di PostgreSQL sama dengan pengguna atau grup, yaitu entitas yang bisa Anda gunakan untuk mengelola database dan izin akses di PostgreSQL. Untuk membuatnya, gunakan pernyataan berikut:

CREATE ROLE my_role;

Karena kita tidak menetapkan kata sandi, pernyataan di atas akan membuat peran baru tanpa hak akses login. Anggaplah seperti grup, yang berguna untuk mengelola hak istimewa.

Apabila Anda ingin membuat peran dengan izin login seperti pengguna, masukkan perintah berikut:

CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password';

Saat membuat peran, Anda bisa menambahkan izin setelahnya menggunakan perintah GRANT. Atau, gunakan setup interaktif yang ditampilkan untuk menetapkan hak istimewa dengan menjawab sejulmah pertanyaan.

Untuk melakukannya, keluar dari shell PostgreSQL dan beralih kembali ke pengguna postgres. Kemudian, jalankan perintah ini:

createuser --interactive
PostgreSQL interactive role creation

Cukup jawab beberapa pertanyaan untuk membuat peran sesuai kebutuhan Anda. Untuk memeriksa semua peran dalam database, jalankan perintah berikut ini dalam shell psql:

\du

Apabila ingin masuk ke shell postgres menggunakan peran tersebut, Anda juga harus membuat pengguna Linux baru yang sesuai di sistem Anda. Berikut perintahnya:

sudo adduser new-user

Selain itu, membuat koneksi ke psql sebagai peran baru juga akan membutuhkan database. Apabila pengguna tersebut tidak memilikinya, Anda bisa menggunakan database postgres default. Perintahnya kira-kira akan seperti ini:

sudo -u new-user psql -d postgres 

Penting! Untuk mengakses command-line psql sebagai pengguna lain, jalankan perintah login di shell utama sistem Anda.

4. Buat database baru

Untuk membuat database PostgreSQL baru, masuk ke shell psql sebagai pengguna yang memiliki izin yang diperlukan.

Sekarang, buat database baru dengan menjalankan perintah berikut.

CREATE DATABASE db_name;

Lihat daftar semua database untuk memastikan bahwa Anda sudah berhasil membuat database baru. Berikut perintahnya:

\l

Sekarang, buat sambungan ke database baru tersebut dengan menjalankan perintah berikut. Ganti db_name dengan nama database Anda sebenarnya:

\c db_name

Setelah tersambung, Anda bisa memeriksa informasi tentang database saat ini dengan memasukkan perintah berikut:

\conninfo

5. Sesuaikan tabel database

RDBMS, seperti PostgreSQL, mengatur data ke dalam tabel yang terdiri dari baris dan kolom. Untuk pengelolaan yang lebih efisien, Anda bisa mengelompokkan tabel-tabel yang terkait ke dalam kategori yang disebut skema.

Misalnya, Anda bisa mengatur beberapa tabel tentang data karyawan dan faktur penggajian ke dalam skema sumber daya manusia (SDM). Untuk membuat skema, gunakan pernyataan berikut:

CREATE SCHEMA nama_skema;

Untuk membuat tabel di dalam skema, cukup tambahkan nama skema di awal pernyataan Anda, seperti ini:

CREATE TABLE nama_skema.nama_tabel (

    kolom1 tipe_data batasan,

    kolom2 tipe_data batasan,

    ...

);

Saat membuat tabel, cantumkan kolom dipisahkan dengan koma. Setiap kolom harus mengandung tipe data untuk menentukan nilai yang akan dimasukkan, serta batasan untuk menentukan kriteria data.

Contohnya, Anda bisa mengatur tipe data menjadi nilai integer (bilangan bulat), karakter, atau boolean. Sementara itu, Anda bisa mengatur batasan agar hanya mengizinkan nilai yang tidak kosong atau data unik yang tidak dimiliki oleh kolom lain.

Berikut adalah contoh pernyataan yang membuat tabel data karyawan di dalam skema HR, yang berisi empat kolom: ID karyawan (employee_id), nama depan (first_name) dan nama belakang (last_name), serta tanggal perekrutan (hire_date):

CREATE TABLE hr.employees (

    employee_id SERIAL PRIMARY KEY,

    first_name VARCHAR(100) NOT NULL, 

    last_name VARCHAR(100) NOT NULL,

    hire_date DATE NOT NULL  

);

Untuk memeriksa tabel, masukkan perintah berikut ini di shell command-line psql Anda:

\d nama-tabel

Apabila ingin memeriksa tabel milik skema lain, gunakan perintah ini sebagai gantinya:

\dt nama-skema.tabel

6. Kelola data dalam tabel

Setelah menyiapkan tabel dan kolom, Anda bisa mulai mengisinya dengan data. Untuk melakukannya, tentukan tabel dan kolom yang ingin Anda tambahkan data, lalu cantumkan nilainya seperti ini:

INSERT INTO hr.employees (first_name, last_name, hire_date)

VALUES

    ('Joni', 'Setiawan', '2024-01-15'),

    ('Jeni', 'Saputri', '2023-11-10');

Pada contoh di atas, kita memasukkan nilai ke dalam kolom nama depan, nama belakang, dan tanggal perekrutan dalam tabel karyawan. Baris pertama akan berisi data tentang Joni Setiawan, sedangkan baris kedua berisi detail tentang Jeni Saputri.

Untuk memeriksa nilai dari baris tertentu, Anda bisa menggunakan kondisi tertentu sebagai filter. Sebagai contoh, perintah berikut ini akan mencari karyawan menggunakan ID mereka:

SELECT * FROM employees

WHERE employee_id = 1;

Anda juga bisa menggunakan kondisi untuk memperbarui nilai baris tertentu. Sebagai contoh, pernyataan ini akan mengubah Jeni Saputri menjadi Joni Setiawan:

UPDATE employees

SET last_name = 'Setiawan'

WHERE employee_id = 2;

Selain itu, kondisi berguna untuk menghapus data. Sebagai contoh, kita akan menghapus data tentang karyawan yang memiliki ID 1:

DELETE FROM employees

WHERE employee_id = 1;

Menghapus sebuah baris akan menghapus entri tersebut sepenuhnya dari tabel Anda. Langkah ini tidak akan memengaruhi data lainnya, kecuali kalau memiliki batasan tertentu, seperti foreign key relationship.

Kesimpulan

Di artikel ini, kami telah menjelaskan cara instal PostgreSQL di CentOS 9. Sebelum mulai, pastikan Anda memiliki server yang memenuhi persyaratan sistem minimum, seperti paket VPS KVM 1 Hostinger.

Setelah itu, instal PostgreSQL menggunakan langkah-langkah berikut:

  1. Download paket PostgreSQL terbaru dan aktifkan layanannya menggunakan systemctl
  2. Buat sambungan ke shell PostgreSQL dengan beralih ke akun postgres dan masuk ke psql.
  3. Buat peran baru di database dan sistem Linux Anda dengan izin login.
  4. Buat database baru menggunakan peran yang memiliki izin memadai, seperti postgres.
  5. Tambahkan tabel untuk mengatur data dalam database Anda dengan memasukkan pernyataan CREATE
  6. Isi dan kelola data dalam tabel database Anda menggunakan pernyataan seperti INSERT dan UPDATE.

Mudah-mudahan artikel ini berhasil membantu Anda membuat database PostgreSQL di sistem CentOS 9 Anda, ya. Kalau masih memiliki pertanyaan, sampaikan lewat kolom komentar yuk!.

Tanya jawab (FAQ) cara menginstal PostgreSQL CentOS

Bagaimana cara memastikan PostgreSQL sudah terinstal?

Ada beberapa cara untuk memeriksa apakah PostgreSQL sudah terinstal. Salah satunya adalah dengan memulai database menggunakan perintah systemctl:
sudo systemctl start postgresql-17
Pastikan untuk mengganti 17 dengan versi yang akan Anda instal. Apabila command-line menghasilkan error layanan tidak ada, artinya PostgreSQL tidak dikonfigurasi dengan benar. ]
Metode lainnya adalah dengan login ke command-line PostgreSQL menggunakan perintah berikut ini:
sudo -u postgres psql
Apabila Anda melihat error Command not found, berarti RDBMS tidak terinstal dengan benar.

Bagaimana cara mengakses command-line interface PostgreSQL?

Untuk mengakses command-line interface PostgreSQL, yang juga disebut shell psql, beralihlah ke akun default postgres menggunakan perintah ini:
sudo su postgres
Kemudian, cukup masukkan psql, lalu shell Anda akan berubah menjadi PostgreSQL, yang menunjukkan bahwa Anda berhasil mengakses command-line tersebut. Untuk keluar dari shell ini, masukkan perintah berikut:
\q
Anda juga bisa menggunakan satu perintah di shell utama Anda untuk memasukkan psql seperti ini:
sudo -u postgres psql

Kenapa muncul masalah saat menginstal PostgreSQL?

Ada beberapa faktor yang bisa menyebabkan masalah selama penginstalan PostgreSQL. Kalau mengalami error saat mendownload paket, cek apakah Anda menggunakan perintah yang benar dan URL download yang tepat sesuai sistem operasi Anda.
Apabila muncul masalah saat membuat koneksi ke shell psql, periksa apakah layanan postgresql sudah berjalan. Berikut perintahnya:
sudo systemctl status postgresql-17
Kalau status PostgreSQL tidak berjalan, boot secara manual menggunakan perintah ini:
sudo systemctl start postgresql-17

Kenapa tidak bisa tersambung ke peran PostgreSQL lain?

Apabila tidak bisa membuat koneksi ke peran PostgreSQL yang baru, pastikan Anda sudah membuat pengguna yang sesuai di sistem Linux Anda. Misalnya, kalau Anda membuat peran new_user, server Anda juga harus memiliki akun new_user yang sama.
Selain itu, Anda harus menentukan database yang akan disambungkan. Apabila pengguna baru tidak memilikinya, gunakan database postgres default seperti perintah ini:
sudo -u NewUser psql -d postgres
Selain itu, cobalah membuat peran baru menggunakan pernyataan berikut, bukan mode interaktif, untuk memberikan hak akses login secara eksplisit. 
CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password'

Author
Penulis

Faradilla Ayunindya

Faradilla, or Ninda, is a Content Marketing Specialist with a passion for technology, a curiosity for digital marketing trends, and a deep interest in linguistics. When she's not writing Hostinger tutorials, you can find her watching funny animal videos or reading about life sciences. Follow her on LinkedIn.