Membangun Kontainer Docker PostGIS dan PgAdmin4
Dalam artikel ini, saya akan memperkenalkan cara mengatur PostGIS dan PgAdmin4 menggunakan kontainer Docker dan mendemonstrasikan bagaimana menghubungkan ke PostGIS melalui konsol PgAdmin4.
Membuat Berkas YML Docker Compose
Buat berkas docker-compose.yml
berikut:
version: '3.1'
services:
postgis:
image: postgis/postgis
container_name: postgis
ports:
- '5432:5432'
environment:
POSTGRES_PASSWORD: postgres
volumes:
- pgdata:/var/lib/postgresql/data
pgadmin4:
image: dpage/pgadmin4
container_name: pgadmin4
ports:
- '5050:80'
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: admin
links:
- postgis
volumes:
pgdata:
Jalankan perintah berikut:
$ docker compose up
Hal ini akan memulai kontainer untuk PostGIS dan PgAdmin4.
Menggunakan PgAdmin4
Operasikan PgAdmin4 melalui konsol dan hubungkan ke PostGIS.
Pertama, buka peramban Anda dan buka http://localhost:5050
. Masukkan kredensial login Anda untuk masuk.
Klik "Add New Server."
Buka tab "Connection" dan masukkan informasi otentikasi untuk terhubung ke PostGIS. Lalu klik tombol "Save."
Anda sekarang dapat melihat bahwa PostGIS terhubung.
Mengatasi Masalah Kontainer PgAdmin4
Kontainer Tidak Berjalan
Jika Anda menentukan karakter yang bukan email untuk PGADMIN_DEFAULT_EMAIL
di docker-compose.yml
, kontainer akan mengalami kesalahan saat mulai berjalan.
environment:
PGADMIN_DEFAULT_EMAIL: admin
PGADMIN_DEFAULT_PASSWORD: admin
‘admin’ does not appear to be a valid email address. Please reset the PGADMIN_DEFAULT_EMAIL environment variable and try again.
Untuk mengatasi masalah ini, ubah PGADMIN_DEFAULT_EMAIL
ke format email yang valid:
environment:
- PGADMIN_DEFAULT_EMAIL: admin
+ PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: admin
Kesalahan Saat Mengoperasikan pgAdmin
Jika Anda mencoba mengoperasikan versi PostgreSQL yang tidak didukung oleh pgAdmin, maka akan terjadi kesalahan.
Error retrieving the information – INTERNAL SERVER ERROR
ERROR: column rel.relhasoids does not exist
LINE 8: pg_get_userbyid(rel.relowner) AS relowner, rel.relhasoids,…
Misalnya, pgAdmin 5.7 tidak mendukung PostgreSQL 14.
Referensi