Install PostgreSQL using Docker
Hai semuannya, di materi kali ini kita membahas Install PostgreSQL menggunakan Docker, Pembahasannya diantaranya:
- Install docker
- Running PostgreSQL in Docker
- Using
pgAdmin4
web based - Migrate schema using flyway
Ok langsung saja kita bahas ke materi yang pertama yaitu
Install docker
Buat temen-temen yang belum kenal dengan Docker, Docker adalah salah satu teknologi virtualization yang sedang naik daun 3 tahun terakhir karena memudahkan kita untuk melakukan install suatu software/service. Kita juga bisa memanfaatkan docker ini untuk belajar PostgreSQL sebagai Learning environment.
Tahap pertama, yang harus temen-temen lakukan adalah install adalah
- Install Docker untuk Windows
- Install Docker untuk linux
- Install Docker untuk mac
Running PostgreSQL in Docker
Untuk menjalakan PostgreSQL di Docker ini sebetulnya sangatlah mudah, kita cukup jalankan perintah:
Tetapi kita akan menggunakan docker-compose ya supaya scriptnya tersimpan dengan baik. seperti berikut:
Kemudian kita buat file .env
seperti berikut:
Kemudian kita jalankan dengan perintah
Using pgAdmin4
web based
Untuk text editor seperti pgadmin4
kita bisa menggunakan versi Desktop atau juga kita bisa menggunakan version web yang kita pasang dalam docker, sepertinya temen-temen liat pada script docker-compose.yaml
sebelumnya seperti berikut:
Untuk meng-aktifikan container pgadmin4
tersebut, kita perlu menggunakan profile debug
dengan perintah seperti berikut:
Jika sudah, kita bisa akses dengan alamat localhost:55432 seperti berikut:
Sekarang kita akan buat connection ke PostgreSQL server di Docker, Kita klik kanan di Menu Servers -> Create -> Server kemudian kita input connection name contohnya: postgresql
dan kemudian kita ke tab Connection seperti berikut:
Berikut properties:
Property | Value | Description |
---|---|---|
Host |
postgres |
Karena kita menggunakan container, kita tidak bisa menggunakan localhost karena docker memiliki ip yang berbeda setiap container |
Database |
postgres |
Sesuaikan dengan .env yang telah kita buat |
Username |
postgres |
Sesuaikan dengan .env yang telah kita buat |
Password |
password |
Sesuaikan dengan .env yang telah kita buat |
Jika sudah, kita klik Save, maka jika success hasilnya seperti berikut:
Migrate schema using flyway
Untuk belajar, kita membutuhkan user & database/schema untuk mencoba feature dari PostgreSQL. Sekarang kita akan buat user & database di Docker melalui psql
Kemudian kita buat schema dengan perintah seperti berikut:
Setelah kita buat schema, user dan database, kita download file ini simpan dalam folder db/migration
dan jalankan migrationnya dengan perintah
Jika sudah sekarang kita bisa check dengan perintah berikut:
Jika dijalankan hasilnya seperti berikut:
➜ postgresql git:(master) docker-compose -f docker-compose.yml --env-file .env exec postgres psql -U hr -W -c "\dt"
Password:
List of relations
Schema | Name | Type | Owner
----------+-----------------------+-------+----------
hr | countries | table | hr
hr | departments | table | hr
hr | employees | table | hr
hr | flyway_schema_history | table | hr
hr | job_history | table | hr
hr | jobs | table | hr
hr | locations | table | hr
hr | regions | table | hr
(8 rows)
-
Referensi
https://hub.docker.com/_/postgres