PGsql10.3之容器化部署
环境准备
- centos7.6 2c 4g 50g
- 采用docker-compose部署
- docker版本为19.03.5
- docker-compose版本为1.22
一、Docker与docker-compose部署
-
此处省略1千字……
二、镜像包上传
- pgdata.zip ##初始化数据包
- postgres_v10.3.zip ##镜像包
- postgres.yml ##yml配置文件
mkdir -p ./pg_dump
##层级目录
docker
pgdate
date
postgres.yml
三、启动postgres
YAML文件
version: "3"
services:
postgres:
container_name: postgres
image: postgres:v2
volumes:
- ./pgdata/data/:/pgdata/data/
- ./pg_dump/:/pg_dump
command:
- sh
- -c
- |
chown -R postgres /pgdata
chmod -R 700 /pgdata/data
sudo service sgrdb-3.0 start
/usr/sbin/sshd -D
ports:
- "19200:19200"
- "10022:22"
restart: always
privileged: true
查看端口是否启动
[root@qjzhao docker]# docker-compose -f postgres.yml up -d
root@qjzhao docker]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::19200 :::*
LISTEN 0 128 :::21807 :::*
四、常用命令
4.1数据库数据导出
##导出某个模式
./pg_dump -U postgres -d 数据库 -n 模式 -f /pg_dump/1.dump
./pg_dump -U postgres -d 数据库 -n 模式 -f /pg_dump/1.dump
##导出某个库
pg_dump -U postgres -d 数据库 -f /pg_dump/1.dump
##导出单个表
pg_dump -U postgres -d 数据库 -n 模式 -t 表 -f /pg_dump/1.dump
4.2数据库数据导入
#导入某个模式
psql -U postgres -d 库-n 模式 -f /pg_dump/1 .dump
#导入某个库
./pg_dump -U postgres -d 库 -f /pg_dump/1.dump
#导入某个表
psql -U postgres -d 库 -n 模式 -t
模式.表 -f /pg_dump/1.dump
4.3数据库启动停止(非容器化)
./pg_ctl -D /home/postgres/data/ -l logfile start
./pg_ctl -D /home/postgres/data/ stop