网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
备份:
/opt/PostgreSQL/9.5/bin/pg_dump -h 164.82.233.54 -U postgres databasename > databasename.bak
恢复:
/opt/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename < databasename.bak
有三种不同的备份方法:
- SQL dump
- 文件系统级备份(File system level backup)
- 连续归档(Continuous archiving)
备份
先切换到postgres用户下:
su - postgres
备份:
pg_dumpall > /usr/local/pgsql/backup/pg_all.dmp
恢复数据库
psql –f /usr/local/pgsql/backup/pg_all.dmp postgres
查看数据库pg1是否恢复
psql pg1
pg=# select * from tb1;
pg_dump [database_name] > /home/postgres/db.dump – 或者 db.sql
导入:
psql [database_name] -U [username] < /home/postgres/db.dump
此时,数据库jck_bjgck下会多一个名称为jck的schema,该schema的owner为jck_bjgck。
使用用户jck_bjgck登录数据库jck_bjgck,重命名schema jck,与其owner的名称一致:
alter schema jck rename to jck_bjgck;
Postgresql的数据迁移
postgresql数据库改变data目录 文档
例:把目录改变至/data中
0.准备工作 停掉 pg server
service postgresql stop
1.修改配置文件/etc/postgresql/9.3/main/postgresql.conf (记得备份)
data_directory = '/data/postgresql/9.3/main'
2.把默认数据目录的东西拷贝过来
cd /data
mkdir postgresql
cp -r /var/lib/postgresql/* /data/postgresql/
3.修改data_directory的所有者
(记得 -R )
chown -R postgres:postgres /data
4.根据提示修改数据目录权限
chmod 700 /data
文件系统级别备份(冷备份)
文件系统级别的备份是冷备份,需要停止数据库。
1,停止数据库
pg_ctl –D /usr/local/pgsql/data stop
2,备份数据库
tar –jcv –f /usr/local/pgsql/backup/filesystem.tar.bz2 /usr/local/pgsql/data/
3,删除/usr/local/pgsql/data/目录
rm –r /usr/local/pgsql/data/
4,解压备份文件到原目录
tar –jxv –f /usr/local/pgsql/backup/filesystem.tar.bz2 –C /
5,启动数据库
pg_ctl –D /usr/local/pgsql/data start
6,查看数据库pg1是否恢复
psql pg1
pg=# select * from tb1;
a
1
(1 rows)
7,查看数据库pg2是否恢复
psql pg2
pg=# select * from tb2;
postgresql 导入和导出数据
备份某个数据库:
pg_dump -h 主机名 -p 端口 -U 用户名 -W 密码 -f 导出的sql脚本文件名 --column-inserts 数据库名
备份全部数据库:
pg_dumpall -h 主机名 -p 端口 -U 用户名 -W 密码 --column-inserts > 导出的sql脚本文件名
恢复某个数据库:
psql -h 主机名 -p 端口 -U 用户名 -W 密码 -d 数据库名 < pg_dump导出的sql脚本文件名
恢复全部数据库:
psql -h 主机名 -p 端口 -U 用户名 -W 密码 < pg_dumpall导出的sql脚本文件名
postgres pgdump 备份还原
备份
pg_dump -h 127.0.0.1 -U postgres -d testdb > "C:\Users\honey\Desktop\testdb.bak"
pg_dump -h 127.0.0.1 -U postgres -d testdb -f "C:\Users\honey\Desktop\testdb.bak"
还原
![img](https://img-blog.csdnimg.cn/img_convert/60d4786f1b0a8026f71a1b676b12dfbd.png)
![img](https://img-blog.csdnimg.cn/img_convert/01f83ca3576a097a65ce70ef05d93044.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
...(img-5j1AW01X-1715815717886)]
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**