Belajar Database PostgreSQL #1: Perkenalan dan Instalasi

Perkenalan

PostgreSQL adalah sebuah produk database relasional yang termasuk dalam kategori free open source software (FOSS).

PostgreSQL terkenal karena fitur-fitur yang advanced dan pendekatan rancangan modelnya menggunakan paradigma object-oriented, sehingga sering dikategorikan sebagai ** Object Relational Database Management System (ORDBMS)**.

Persiapan

Disini saya akan menggunakan Docker & docker-compose untuk menjalankan service PostgreSQL. Jika tidak ingin menggunakan Docker, kita bisa langsung install PostgreSQL di OS kalian masing-masing, link download postgresql.org/download.

Docker

  • Silahkan download dan install docker dan docker-compose
    Link download: docker.com/products/docker-desktop

  • Jika sudah terinstall, jalankan Docker, untuk mengetes apakah sudah berjalan silahkan buka terminal lalu ketikan docker-compose -h, jika Docker sudah berjalan maka akan ada response mengenai perintah-perintah Docker.

  • Buat direktori dan file baru dengan nama docker-compose.yml

mkdir postgresql
cd postgresql
touch docker-compose.yml

Isi file docker-compose.yml dengan kode berikut

version: '3.1'

services:
  db:
    container_name: pg
    image: postgres:12.5-alpine
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: admin
    volumes:
      - pg_data:/var/lib/postgresql/data

  adminer:
    container_name: adminer
    image: adminer
    restart: always
    ports:
      - 8080:8080

volumes:
  pg_data:

Jadi kita akan buat 2 container dengan nama **pg ** (PostgreSQL) dan adminer. *Adminer *ini adalah UI untuk Database Management seperti PhpMyAdmin. Pada container pg kita akan mengambil image postgres versi 12.5, lalu untuk environtment kita buat username dan password postgresql dengan nilai admin. Kita juga buat volumes di docker agar ketika service pg berhenti data tetap tersimpan. Jika sudah silahkan disimpan pada file docker-compose.yml.

  • Kembali ke terminal jalankan perintah docker-compose up -d untuk membuat dan menjalankan semua service yang ada pada file docker-compose.yml.

Untuk melihat apakah semua service sudah berjalan ketikan perintah docker ps

$ docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                    NAMES
6adffd3e643a        postgres:12.5-alpine   "docker-entrypoint.s…"   35 hours ago        Up 15 minutes       0.0.0.0:5432->5432/tcp   pg
6f8d88287a93        adminer                "entrypoint.sh docke…"   35 hours ago        Up 15 minutes       0.0.0.0:8080->8080/tcp   adminer
  • Masuk ke container pg, jalankan perintah docker exec -it pg sh

  • Masuk ke service postgresql, jalankan perintah psql -h localhost -U admin. Jika diminta password isi dengan admin (sesuaikan dengan yang ada pada file docker-compose.yml) lalu enter.

  • Sekarang kita sudah berhasil login ke postgresql, untuk melihat list database jalankan perintah \l.

admin=# \l
                             List of databases
   Name    | Owner | Encoding |  Collate   |   Ctype    | Access privileges
-----------+-------+----------+------------+------------+-------------------
 admin     | admin | UTF8     | en_US.utf8 | en_US.utf8 |
 postgres  | admin | UTF8     | en_US.utf8 | en_US.utf8 |
 template0 | admin | UTF8     | en_US.utf8 | en_US.utf8 | =c/admin         +
           |       |          |            |            | admin=CTc/admin
 template1 | admin | UTF8     | en_US.utf8 | en_US.utf8 | =c/admin         +
           |       |          |            |            | admin=CTc/admin
(4 rows)
  • Sampai sini sudah selesai persiapannya, terakhir kita akan coba login ke adminer, buka browser lalu masuk ke http://localhost:8080/, nanti akan tampil seperti ini

1.JPG

Untuk mengisi bagian server kita harus melihat IP Address dari container pg, untuk melihat nya kita harus keluar dulu dari container atau buka terminal baru lalu jalankan perintah docker container inspect pg, lihat pada bagian Networks.pg_default.IPAddress, misal IPAddress saya disini 172.24.0.2. Jika berhasil login tampilannya seperti ini

2.JPG


Bagaimana menghentikan semua service / container?

Jalankan perintah docker-compose down

Bagaimana menjalankan kembali semua service / container?

Pastikan berada pada direktori yang sama dengan file docker-compose.yml lalu jalankan perintah docker-compose up -d


Penutup

Sekarang kita sudah berhasil memasang dan menyiapkan PostgreSQL dengan Docker. Tunggu artikel lainnya ya seputar PostgreSQL.