一、备份数据库
1.切换到postgres用户(切换到postgres用户即可,不用psql)
sudo su - postgres
2.备份数据库
pg_dump "host=数据库IP port=端口 user=用户名 password=密码 dbname=数据库名" -f "/存放文件路径/备份文件名称.sql"
dbname:从哪个数据库备份就写哪个数据库信息;
备份文件名称:名称自拟,备份完成后,数据存在这个文件中,后续拿这个文件去还原数据;
pg_dump "host=xxx port=5432 user=xxx password=xxx dbname=xxx" -f "/xxx/xxx.sql"
二、还原数据库
首先要创建一个新的数据库,把上面备份的文件,还原到这个新的数据库;
1.切换用户
#sudo su - postgres
#psql
2.创建一个新的备份库
#CREATE DATABASE 数据库 TABLESPACE 表空间;
3.此处用之前建的用户,直接给用户赋予新库权限
# grant ALL ON DATABASE 数据库 TO 用户;
# grant ALL ON TABLESPACE 表空间 TO 用户;
4.导入
此处的 dbname 是恢复到哪个数据库,即我们上一步新建的那个数据库;
此处的xxx.sql文件就是备份数据库那一步备份出来的文件,还原完成后,这个文件中的数据就会导入到新的数据库中;
\q 退出psql控制台
# psql "host=xxx port=5432 user=xxx password=xxx dbname=xxx" -f "/xxx/xxx.sql" 在postgres下 执行语句