Traffine I/O

Bahasa Indonesia

2023-04-07

Membangun Kontainer Docker PostGIS dan PgAdmin4

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:

docker-compose.yml
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:

bash
$ 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.

PgAdmin4 | 1

Klik "Add New Server."

PgAdmin4 | 2

Buka tab "Connection" dan masukkan informasi otentikasi untuk terhubung ke PostGIS. Lalu klik tombol "Save."

PgAdmin4 | 3

Anda sekarang dapat melihat bahwa PostGIS terhubung.

PgAdmin4 | 4

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.

docker-compose.yml
    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:

docker-compose.yml
    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

https://registry.hub.docker.com/r/postgis/postgis/
https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!