Linux 环境手动备份postgresql数据库数据

Posted Hi,all

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 环境手动备份postgresql数据库数据相关的知识,希望对你有一定的参考价值。

目录

1. 备份

1.1 宿主机安装

1.2 docker安装未指定外挂目录

1.2.1 进入容器

1.2.2 执行备份命令

1.2.3 从docker容器种导出文件

2. 恢复

2.1 宿主机安装

2.2 docker安装


1. 备份

1.1 宿主机安装

执行命令

/usr/pgsql-9.4/bin/pg_dump --file "/数据库dump备份文件目录/export_XXX(数据库名)_bak.dmp" --host "127.0.0.1" --port "5432" --username "postgres" --dbname "xxx(数据库名)" --verbose --role "postgres" --blobs --encoding "UTF8"

1.2 docker安装未指定外挂目录

1.2.1 进入容器

docker exec -u root -it 容器名/容器ID /bin/bash

1.2.2 执行备份命令

pg_dump -h localhost -p 5432 -U xxx(用户名) xxx(数据库名) > /数据库dump备份文件目录/export_XXX(数据库名)_bak.dmp

1.2.3 从docker容器种导出文件

docker cp 容器id或名称:/xxx(容器内的目录文件) /xxx(容器外的目录文件)

2. 恢复

2.1 宿主机安装

执行命令:

psql -h 127.0.0.1 -U postgres -d 数据库名   <  文件名.dmp 

2.2 docker安装

从容器外部复制文件到容器内部

docker cp /xxx(容器外部目录文件) 容器id或名称:/xxx(容器内部目录文件)

执行命令:

psql -h 127.0.0.1 -U postgres -d 数据库名   <  文件名.dmp 

参考文章

以上是关于Linux 环境手动备份postgresql数据库数据的主要内容,如果未能解决你的问题,请参考以下文章

Linux 环境手动备份postgresql数据库数据

pgAgent设定定时备份

windows postgresql定时备份 无需手动输入密码

[完整版]Postgresql 数据库 备份以及恢复的过程

postgresql数据库备份和恢复(超快)

Linux配置postgresql自动备份