Install
openclaw skills install postgres-managerManage a shared PostgreSQL Docker container for local dev environments. Handles container lifecycle, database creation/removal, and cross-instance dumps via pg_dump. Joins the shared Docker network created by proxy-manager.
openclaw skills install postgres-managerManages the shared PostgreSQL Docker container for local dev environments.
postgres-manager/
├── docker-compose.yml # PostgreSQL 16 Alpine container
└── run.sh # lifecycle + db admin CLI
Joins the shared nginx-proxy_net network (created by proxy-manager) so app containers connect via hostname codai_postgres. Data is persisted in a named volume.
./run.sh start # start PostgreSQL container
./run.sh stop # stop container (data persists in volume)
./run.sh status # status + list databases
./run.sh wait # block until PostgreSQL is ready
./run.sh create-db <name> # CREATE DATABASE (idempotent)
./run.sh drop-db <name> # DROP DATABASE (interactive confirm)
./run.sh dump <src> <dest> # pg_dump src | psql dest
./run.sh list-dbs # list all non-template databases
./run.sh psql [<db>] # open psql interactive session
cd postgres-manager && ./run.sh start
On first run, Docker creates the volume and initializes codai_main.
./run.sh create-db codai_feature
./run.sh dump codai_main codai_feature
./run.sh drop-db codai_feature # prompts for confirmation
./run.sh psql # connects to codai_main
./run.sh psql codai_feature # connects to specific db
proxy-manager start — creates the shared Docker networkpostgres-manager start — joins the shared networkworktree-manager start <instance>| Variable | Default | Purpose |
|---|---|---|
POSTGRES_CONTAINER | codai_postgres | Container name |
POSTGRES_USER | codai | Database user |
POSTGRES_PASSWORD | pgpass | Database password |
POSTGRES_MAIN_DB | codai_main | Primary database name |
POSTGRES_PORT | 5433 | Host port (maps to 5432) |
CODAI_NETWORK | nginx-proxy_net | Shared Docker network name |
Backend containers connect to PostgreSQL at:
codai_postgres (container name on shared network)5432codai / Password: pgpasscodai_main (or instance-specific db)POSTGRES_MAIN_DB — it is the source of truth for snapshots.drop-db always prompts for confirmation.^[a-z][a-z0-9_]{0,62}$ before any SQL or shell operation.stop preserves data in the Docker volume. Use docker compose down -v only when you intentionally want to delete persisted data.restart: unless-stopped — it will resume after a Docker daemon restart. Run ./run.sh stop when done.POSTGRES_PORT) is bound to 127.0.0.1 only. Set a non-default POSTGRES_PASSWORD on shared machines.external: true — proxy-manager must start first.proxy-manager — creates the shared Docker network (start first)mysql-manager — MySQL alternativeredis-manager — in-memory cache companionworktree-manager — app instances that consume PostgreSQL