pg后台备份指令集合
一、Docker备份
dump备份
1.下载dump
./pg_dump -Fc -U postgres -h [host] -p [port] [db_name] > [filestore]
例:
./pg_dump -Fc -U postgres -h 127.0.0.1 -p 5432 demo_db > /Users/admin/Downloads/demo_db_back.dump
2.考本下载的dump到本地容器
docker cp back.dump [本地数据库容器]:/
3.进入本地数据库容器
Docker exec -it [本地数据库容器] /bin/bash
4.创建数据库
su - postgres
psql -U odoo -d postgres;
create database "tfch" with owner=odoo;
\q
5.恢复数据库
pg_restore -U odoo -d tfch ./back.dump
select pid from pg_stat_activity where DATNAME=‘template1’;
SQL 备份
1.进入需备份的环境容器
docker exec -it [环境DB容器] /bin/bash
2.下载数据库
pg_dump -U postgres [数据库名] > back.sql
exit
3.拷贝下载的数据库到本地
docker cp [环境DB容器]/back.sql ./
4.将拷贝数据库复制到本地容器
docker cp back.sql [本地DB容器]:/
5.进入本地容器
docker exec -it [本地DB容器] /bin/bash
6.创建数据库
su - postgres
psql -U postgres -d postgres;
create user odoo superuser password ‘数据库密码’;
create database "[新数据库名称]" with owner=odoo;
\q
7.恢复数据库
psql -U odoo -d '[新数据库名称]'<back.sql
8.登录数据库
psql -U posrgres -d postgres;
9.修改所有者
alter database "[新数据库名称]" owner to odoo;
10.退出
\q
exit
二、本地备份
1. psql
psql -U postgres -d postgres;
create database "new_db_name" with owner=odoo;
\q
2. cmd
psql --username=odoo --dbname=new_db_name -q -f dump.sql