Di antara DBMS populer yang paling banyak digunakan saat ini, salah satunya adalah PostgreSQL. PostgreSQL merupakan Object-Relational Database Management System (ORDBMS) yang bersifat open source. Bisa digunakan untuk menangani data kecil sampai ke data enterprise sekali pun bahkan dengan angka concurrent users yang sangat besar.
PostgreSQL tersedia untuk Windows, Linux dan juga MacOS.
Pada tutorial kali ini akan didemonstrasikan langkah-langkah cara install PostgreSQL versi 11 di Arch Linux. Lengkap dengan Screenshot dan penjelasan agar mudah untuk diikuti.
1. Update Sistem
Langkah pertama yang harus dilakukan adalah mengupdate sistem Arch Linux kita dengan melakukan perintah:
sudo pacman -Syu
2. Install PostgreSQL
Selanjutnya kita bisa menginstall PostgreSQL secara langsung melalui package manager Arch Linux yaitu pacman.
sudo pacman -S postgresql
Cek apakah PostgreSQL sudah terinstall.
postgres --version
3. Pastikan PostgreSQL Service Daemon Belum Berjalan
Sebenarnya tidak perlu dipastikan karena memang secara default pasti belum dijalankan. Akan tetapi service PostgreSQL tidak bisa berjalan karena data directory belum dibuat. Untuk membuatnya anda harus login terlebih dahulu dengan user postgres
.
sudo systemctl status postgresql
4. Login Bash Menggunakan User Postgres
Untuk membuat initial data directory
kita perlu login terlebih dahulu menggunakan user postgres
. Ada beberapa cara untuk login, anda bebas menggunakan cara yang mana.
- Jika anda memiliki
sudo
dan user telah terdaftar disudoers
:
sudo -iu postgres
- Kalau tidak, anda bisa menggunakan perintah
su
:
su
su -l postgres
Di sini saya mencontohkan dengan cara yang pertama yaitu menggunakan perintah sudo
.
5. Initial Data Directory
Sebelum PostgreSQL bisa berfungsi sebagai mana mestinya, kita harus menginisialisasikan data directory terlebih dahulu dengan perintah berikut:
[postgres]$ initdb --locale en_US.UTF-8 -D /var/lib/postgres/data
Keterngan:
--locale
adalahflag
untuk menentukanlocale
apa yang akan digunakan di antaralocales
yang terdefinisi di/etc/locale.conf
-E
adalahflag
untuk menentukan encoding, misal-E UTF8
-D
adalahflag
untuk menentukan default direktori data untuk PostgreSQL. Biasanya terletak pada direktori/var/lib/postgres/data
Setelah itu akan muncul berbaris-baris output yang diakhiri kata “. . . ok” menunjukkan proses inisialisasi data directory telah berhasil.
Langkah selanjutnya anda bisa logout dari user postgres
kemudian jalankan daemon dengan systemctl
.
exit
6. Jalankan PostgreSQL Service
Akhirnya setelah data directory berhasil dibuat, kita bisa menjalankan postgresql
service.
sudo systemctl start postgresql
# autostart ketika booting
sudo systemctl enable postgresql
Lihat apakah postgresql.service
telah berjalan atau tidak.
sudo systemctl status postgresql
Jika anda melihat seperti ini itu artinya postgresql.service
sudah berjalan dengan baik.
7. Membuat User Baru
Jika kita tidak ingin menggunakan user postgres
, kita bisa membuat user baru. Agar lebih confident di sini saya akan membuat user baru untuk postgres dengan nama user yang sama dengan user linux saya yaitu aksa
.
Login Dengan User Postgres
Sebelum membuat user baru, kita login dulu dengan user postgres
, hal ini karena kita belum memiliki user yang lain selain postgres
yang bisa kita gunakan.
sudo -iu postgres
Create User Baru Dengan Nama Salah Satu User Linux
Setelah kita berhasil login dengan user postgres
, kita akan membuat user baru untuk postgresql kita. Dan di sini disarankan untuk menggunakan salah satu nama user yang sudah terdaftar sebagai user linux agar lebih mudah ketika login. Sebagai contoh di sini saya akan membuat user dengan nama aksa
.
createuser --interactive
Akan muncul seperti pada gambar, anda tulis nama user yang diinginkan dan role yang diinginkan pula. JIka ingin user yang baru memiliki akses superuser, maka pilih pilhan y
.
Lalu exit
dari user postgres
. Kita akan login dengan user yang baru kita buat.
Buat Database Baru Dengan Nama Yang Sama dengan User yang Telah Dibuat
Sebelum kita bisa login ke postgresql dengan user yang sudah kita buat, kita bikin dulu satu database yang namanya sama dengan nama user kita. Jika dilihat dari kasus saya, maka nama db yang digunakan adalah aksa
.
createdb aksa
Anda Sudah Bisa Mengakses PSQL dengan User Baru
Karena kita telah membuat user dengan nama yang sama dengan user linux kita, dan juga kita telah membuat db yang namanya sama dengan nama user kita, kita tinggal menuliskan perintah psql
lalu secara otomatis kita akan masuk dengan user yang sedang aktif dan berada pada db yang namanya sama dengan nama user kita.
psql
8. Berinteraksi Dengan PSQL Client
Membuat Database
Kita bisa membuat database dengan menulis SQL berikut:
CREATE DATABASE db_pertama;
Pilih db_pertama
sebagai db aktif.
\c db_pertama;
Setelah itu kita coba membuat tabel baru dengan nama users
yang hanya memiliki satu kolom.
CREATE TABLE users (name varchar(30));
Untuk melihat list tabel yang ada pada db aktif, kita bisa menggunakan perintah \d
.
\d
Di sini terlihat bahwa ada satu table dengan nama users
, beserta beberapa info lainnya seperti schema
, type
, dan owner
.
Insert Users
Pada tabel users
yang sudah kita buat, kita coba insert dua row dengan SQL berikut:
INSERT INTO users VALUES ('Ibnu Jakaria'), ('Nurul Huda');
Setelah berhasil insert, kita coba lihat dengan melakukan query select.
SELECT * FROM users;
Maka jika muncul dua baris yang telah kita insert sebelumnya berarti sudah sukses.
Tambahan
Kita bisa membuka postgresql
dengan database client sesuka kita. Di sini saya menggunakan adminer
untuk membuka postgresql
. Anda bisa menggunakan database client yang lain semisal: pgAdmin
, DBeaver
, pgManage
dan lain sebagainya.
Semoga bermanfaat! :)