1.启停
postgres –D $PGDATA start
pg_ctl -D $PGDATA start
三种关机模式:
pg_ctl –D $PGDATA stop -m smart
不允许新连接,等待会话结束
pg_ctl –D $PGDATA stop –m fast
不允许新连接,等待子进程退出,终止备份
pg_ctl –D $PGDATA stop –m immediate
立即退出,下次启动需重放wal日志进行恢复
2. pg导数
:::::::::::::::::::::::导出
1)整库备份
pg_dump -d <dbname> -Fd -j 10 -Z 5 -v -f /$backdir/pgdump_$PGNAME_`date +"%Y%m%d%H%M"` &>out.log
导出sql
nohup pg_dump -d <dbname> -Fc -Z 9 -s -v -f /$backdir/exp.sql &
2)只备份数据
pg_dump -d <dbname> -Fd -j 10 -Z 5 -v -a -f /$backdir/pgdump_$PGNAME_`date +"%Y%m%d%H%M"` &>out.log
3)只备份结构
pg_dump -d <dbname> -Fd -Z 5 -v -s -f /$backdir/pgdump_$PGNAME_`date +"%Y%m%d%H%M"` &>out.log
4)只备份特定schema
pg_dump -d <dbname> -n <schemaname> -Fd -j 10 -Z 5 -v -f /$backdir/pgdump_$PGNAME_`date +"%Y%m%d%H%M"` &>out.log
5)只备份特定表(单表不支持并行)
pg_dump -d <dbname> -t <tablename> -Fd -Z 5 -v -f /$backdir/pgdump_$PGNAME_`date +"%Y%m%d%H%M"` &>out.log
多个表 -t <tablename1> -t <tablename2> ...
[postgres@主机:<dbname>:port ~]$ pg_dump --help
-F, --format=c|d|t|p output file format (custom, directory, tar,
plain text (default))
-j, --jobs=NUM use this many parallel jobs to dump
-Z, --compress=0-9 compression level for compressed formats
-v, --verbose verbose mode
-f, --file=FILENAME output file or directory name
:::::::::::::::::::::::恢复
1)整库恢复
nohup psql -d <dbname> < imp.sql &
pg_restore -d <dbname> -j 10 -v /$backdir/pgdump_$PGNAME_`date +"%Y%m%d%H%M"` &>out.log
2)恢复前删除已存在object
pg_restore -d <dbname> -j 10 -v -c --if-exists /$backdir/pgdump_$PGNAME_`date
postgresql日常运维
最新推荐文章于 2024-05-05 07:05:30 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)