/Linux

Cara Install PostGreSQL Pada Ubuntu Server 18.04 dan 20.04 LTS

Tutorial install PostgreSQL Pada Ubuntu Server dan Desktop 18.04 dan 20.04 LTS

Jika sebelumnya kita telah mencoba installasi Database NoSQL pada Ubuntu, sekarang kita akan mencoba untuk belajar sebuah tutorial baru.

Yaitu tentang bagaimana cara install database sql (PostgreSQL) pada Ubuntu Server 18.04 LTS dan 20.04 LTS.

Selain pada Ubuntu Server, tentunya kita juga dapat menggunakan cara ini untuk menginstall PostgreSQL pada Desktop Environment (Ubuntu Desktop).

Table of contents:

Update & Upgrade Dependencies

Jika kita belum terbiasa menggunakan Linux, alangkah baiknya kita melakukan pengecekan terhadap dependencies system kita sebelum menginstall sebuah package.

# cek apakah ada pembaharuan package dari ubuntu
$ sudo apt update

# list packages yang perlu di update (jika ada)
$ apt list --upgradeable

# upgrade package (jika ada)
$ sudo apt upgrade -y

Install PostgreSQL

Setelah perintah-perintah di atas selesai kita jalankan, langkah selanjutnya adalah melakukan instalasi postgresql dengan mengetikkan command di bawah ini:

$ sudo apt install postgresql postgresql-contrib

Tunggu hingga selesai, karena biasanya akan membutuhkan waktu beberapa menit.

Permission & User PostgreSQL

Secara default, setelah proses instalasi di atas selesai, postgresql akan membuat user default bernama Postgre di dalamnya yang dapat kita gunakan langsung ketika proses instalasi selesai.

# login ke postgresql dengan user yang memiliki akses superuser
$ sudo su - postgres
 [sudo] password for icoldplayer: 


# prompt dari postgresql
[email protected]:~$ 

Pada contoh di atas, kita telah berhasil login ke dalam prompt dari postgresql, selanjutnya kita dapat mengetikkan perintah lain agar dapat masuk ke dalam database.

# command psql akan membawa kita masuk ke dalam database
[email protected]:~$ psql

# menunjukkkan versi postgresql yang baru saja kita install 
psql (14.0 (Ubuntu 14.0-1.pgdg20.04+1), server 13.4 (Ubuntu 13.4-4.pgdg20.04+1))
Type "help" for help.

# prompt database telah siap
postgres=# 

Contoh di atas, kita telah berhasil masuk ke dalam database, proses selanjutnya kita dapat mulai meng-eksekusi command-command dari postgre itu sendiri.

Perintah Dasar

Pada tutorial ini, kita akan coba membuat sebuah database yang akan kita gunakan untuk sebuah django project.

Untuk membuat sebuah databse di postgresql, perintah yang akan kita gunakan sama persis seperti milik MySQL.


  • Membuat User dan Database

# prompt default postgresql sesuai dengan user yang login pada waktu tersebut
postgres=# CREATE DATABASE data_ku;

postgres=# CREATE USER user_ku WITH PASSWORD 'password_ku';


postgres=# ALTER ROLE user_ku SET client_encoding TO 'utf8';
postgres=# ALTER ROLE user_ku SET default_transaction_isolation TO 'read committed';
postgres=# ALTER ROLE user_ku SET timezone TO 'UTC';

Proses command di atas, kita berhasil membuat user untuk database kita bernama user_ku.


  • Grant akses user ke database

Langkah selanjutnya adalah, memberikan permission / akses kepada user_ku agar dapat meng-akses database data_ku.

postgres=# GRANT ALL PRIVILEGES ON DATABASE data_ku TO user_ku;

  • Melihat list user dan permission

Untuk melihat list user yang baru saja kita buat, cukup mengetikkan \du

postgres=# \du
                                     List of roles
   Role name   |                         Attributes                         | Member of 
---------------+------------------------------------------------------------+-----------
 user_ku       |                                                            | {}
 postgres      | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 selebhub_demo |                                                            | {}

  • Melihat list database

Untuk melihat list database yang ada, cukup ketikkan \l

postgres=# \l

                                      List of databases
     Name     |  Owner   | Encoding |   Collate   |    Ctype    |     Access privileges      
--------------+----------+----------+-------------+-------------+----------------------------
 loker        | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres              +
              |          |          |             |             | postgres=CTc/postgres     +
              |          |          |             |             | loker_user=CTc/postgres
 postgres     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 selebhub_dbs | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres              +
              |          |          |             |             | postgres=CTc/postgres     +
              |          |          |             |             | selebhub_user=CTc/postgres
 template0    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres               +
              |          |          |             |             | postgres=CTc/postgres
 template1    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres               +
              |          |          |             |             | postgres=CTc/postgres
(5 rows)

  • Menggunakan dan melihat isi dari database

Untuk melihat isi dari database yang ada, cukup dunakan perintah \c db_name

postgres=# \c selebhub_dbs

psql (14.0 (Ubuntu 14.0-1.pgdg20.04+1), server 13.4 (Ubuntu 13.4-4.pgdg20.04+1))
You are now connected to database "selebhub_dbs" as user "postgres".

  • Melihat collections database

Untuk melihat isi collections dari sebuah database, gunakan perintah \dt di dalam prompt database.

selebhub_dbs=# \dt
                      List of relations
 Schema |            Name            | Type  |     Owner     
--------+----------------------------+-------+---------------
 public | user                       | table | db_0
 public | auth_group                 | table | db_0
 public | auth_group_permissions     | table | db_0
 public | auth_permission            | table | db_0
 public | auth_user                  | table | db_0

Kita juga dapat melihat informasi yang lebih detail pada table-table tersebut dengan menggunakan perintah \dt+

selebhub_dbs=# \dt+
                                                  List of relations
 Schema |            Name            | Type  |     Owner     | Persistence | Access method |    Size    | Description 
--------+----------------------------+-------+---------------+-------------+---------------+------------+-------------
 public | user                       | table | db_0          | permanent   | heap          | 16 kB      | notnoob.com
 public | auth_group                 | table | db_0          | permanent   | heap          | 0 bytes    | dev.notnoob.com
 public | auth_group_permissions     | table | db_0          | permanent   | heap          | 0 bytes    | notnoob.com
 public | auth_permission            | table | db_0          | permanent   | heap          | 40 kB      | dev.notnoob.com
 public | auth_user                  | table | db_0          | permanent   | heap          | 32 kB      | notnoob.com

  • Keluar dari prompt

    Untuk keluar dari database prompt, cukup mengetikkan:

postgres=# \q

Happy coding! And keep run the server


Tags: #python, #Django, #Blog

Next tutorial > Integrate static files pada django

Membuat user authentication pada django untuk pemula


Subscribe to noTnoob Dev

Get the latest posts delivered right to your inbox

iColdPlayer

iColdPlayer

Backend Developer | Python, Django, Linux & Rails

Read More