Database

docker 搭建单机 PostgreSQL

运行容器

#alias docker='nerdctl' # If the engine is containerd.

mkdir -p /mnt/disk1/postgres
docker run -d \
--name postgres1 \
--network host \
--restart always \
-e POSTGRES_USER='postgres' \
-e POSTGRES_PASSWORD='123456' \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-v /mnt/disk1/postgres:/var/lib/postgresql \
-p 5432:5432 \
postgres:9.4
  • 注:如果是使用 nerdctl 且使用 bridge 网络,则可能会出现如下错误,建议指定为 --network host 即可解决。若只想使用 bridge 网络,则可以在容器启动后,修改 /etc/cni/xxx.conflist 中的 version 如为 0.4.0,然后重启容器即可。

FATA[0000] ... level=fatal msg="failed to call cni.Setup: plugin type=\"bridge\" failed (add): incompatible CNI versions; config is \"1.0.0\", plugin supports [\"0.1.0\" \"0.2.0\" \"0.3.0\" \"0.3.1\" \"0.4.0\"]" Failed to write to log, write /var/lib/nerdctl/1935db59/containers/default/c7c4699dbffbac5abbb39530dca5e4c4959bcc8f98e5147632a87e923050fc4b/oci-hook.createRuntime.log: file already closed: unknown

备份

# 多表通配符导出
pg_dump -h 127.0.0.1 -p 5432 -Fc -t 'tb_*' > thb.postgres-202110281.dump

还原

# 从二进制备份中恢复
pg_restore -h 127.0.0.1 -p 5432 -U postgres --no-data-for-failed-tables -d postgres thb.postgres-202110281.dump

留言

您的电子邮箱地址不会被公开。