- Instal Docker di sistem jika belum diinstal.
- Pull the official PostgreSQL image from Docker Hub using the following command: docker pull postgres
- Create a Docker network to enable communication between the containers. For example: docker network create mynetwork
- Start the first PostgreSQL container and specify the network you just created with the --network option:
docker run --name postgres1 --network mynetwork -e POSTGRES_PASSWORD=123456 -d postgres
This will start a container with the name postgres1 using the postgres image, set the password to mysecretpassword for the postgres user, and run the container in the background.
- Ulangi langkah 4 untuk memulai container tambahan. Pastikan untuk menggunakan nama dan nomor port yang unik untuk setiap wadah untuk menghindari konflik.
- Gunakan command-line psql untuk terhubung ke setiap wadah dan buat pengguna replikasi dan konfigurasikan pengaturan replikasi. Misalnya, untuk terhubung ke container postgres1, gunakan perintah berikut:
docker exec -it postgres1 psql -U postgres
- Once connected, create a replication user and configure the replication settings. For example:
CREATE USER replication WITH REPLICATION ENCRYPTED PASSWORD 'mypassword';ALTER SYSTEM SET wal_level = replica;ALTER SYSTEM SET max_wal_senders = 3;ALTER SYSTEM SET listen_addresses = '*';
- Hentikan container menggunakan perintah cli docker stop, diikuti dengan nama container. Misalnya: docker stop postgres1
- Buat volume Docker untuk menyimpan data PostgreSQL. Sebagai contoh:
docker volume create dbdata
- Mulai setiap container lagi, tetapi kali ini, pasang volume ke wadah menggunakan opsi -v. Misalnya:
docker run --name postgres1 --network mynetwork -e POSTGRES_PASSWORD=123456 -v dbdata:/var/lib/postgresql/data -d postgres
- Verifikasi bahwa wadah berfungsi dengan memeriksa log. Misalnya:
docker logs postgres1
Itu dia! sekarang memiliki cluster PostgreSQL yang berjalan di Docker.
Untuk memastikan bahwa klaster PostgreSQL Anda berjalan dengan baik, Anda dapat memeriksa log c untuk container melihat apakah ada kesalahan atau peringatan.
Cara Anda dapat melakukannya:
- Buka jendela terminal dan jalankan perintah berikut untuk melihat daftar container Docker yang sedang berjalan:
docker ps
- Identifikasi nama container atau ID cluster PostgreSQL Anda dari daftar.
- Jalankan perintah berikut untuk memeriksa log wadah:
docker logs <container_name_or_id>
- Cari pesan kesalahan atau peringatan apa pun di log yang dapat mengindikasikan bahwa penampung tidak berjalan dengan benar. Anda akan melihat pesan yang menunjukkan bahwa server PostgreSQL telah dimulai dan siap menerima koneksi.
- Hubungkan ke cluster PostgreSQL menggunakan alat baris perintah psql untuk memverifikasi bahwa Anda dapat terhubung ke server dan menjalankan perintah SQL. Misalnya, jalankan perintah berikut untuk terhubung ke wadah dan buka sesi psql:
docker exec -it <container_name_or_id> psql -U postgres
- Setelah terhubung, jalankan beberapa perintah SQL dasar untuk memverifikasi bahwa server berjalan dan merespons seperti yang diharapkan. Misalnya, Anda dapat menjalankan perintah berikut untuk mencantumkan semua database di kluster:
\l
- Jika Anda melihat daftar database, maka cluster PostgreSQL aktif dan berjalan.
