Docker

PostgreSQL

username: postgres
password: example
database: postgres

# Use postgres/example user/password credentials

services:
 
  db:
    image: postgres:17
    restart: always
    ports:
      - 5432:5432
    # set shared memory limit when using docker compose
    shm_size: 128mb
    # or set shared memory limit when deploy via swarm stack
    #volumes:
    #  - type: tmpfs
    #    target: /dev/shm
    #    tmpfs:
    #      size: 134217728 # 128*2^20 bytes = 128Mb
    environment:
      POSTGRES_PASSWORD: example

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

connect to db

psql postgresql://postgres:example@docker01:5432/postgres

admirer path http://docker01:8080/

Apatche AGE

volume: age_01-db-1
/var/lib/postgresql/data
Mount path:
/var/lib/docker/volumes/v_age_01/_data

# Use postgres/example user/password credentials

services:

  db:
    image: apache/age:latest
    restart: always
    ports:
      - 5455:5432
    volumes:
       - v_age_01:/var/lib/postgresql
    # set shared memory limit when using docker compose
    shm_size: 128mb
    # or set shared memory limit when deploy via swarm stack
    #volumes:
    #  - type: tmpfs
    #    target: /dev/shm
    #    tmpfs:
    #      size: 134217728 # 128*2^20 bytes = 128Mb
    environment:
      POSTGRES_PASSWORD: sammy
      POSTGRES_USER: sammy
      POSTGRES_DB: sammy

volumes:
  v_age_01:
    external: true

Connect to container

sudo docker exec  -it age_01-db-1 bash
psql -U sammy

Load extension

load 'age';
set search_path = ag_catalog, "$user", public;