postgresql数据库的导入和导出,备份/恢复

  1. 切换到postgres用户

  2. su postgres

  3. 执行psql

  4. 创建数据库

  5. CREATE USER 用户名 WITH PASSWORD '*****';create database [数据库名];或者create database [数据库名] owner [用户名];

  6. 导入整个数据库
    -W 输入密码 -p 指定端口号

    psql -U postgres(用户名)  数据库名(缺省时同用户名) < /data/dum.sql

  7. psql 数据库名 < /data/dum.sql

  8. 导入出现错误psql: FATAL: Peer authentication failed for user "postgres"
    修改 vim  /var/lib/pgsql/9.6/data/pg_hba.conf文件中
    local     all      all        peer改为local     all      all        trust

  9. 导出整个数据库 
    -O 忽略所属用户 -p 指定端口号
    pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)   >/data/dum.sql
    pg_dump  数据库名  >/data/dum.sql

  10. 导出某个表

    pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)  -t table(表名) >/data/dum.sql

  11. 压缩方法

    一般用dump导出数据会比较大,推荐使用xz压缩

    压缩方法  xz dum.sql 会生成 dum.sql.xz 的文件

  12. xz压缩数据倒数数据库方法

    xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)

  13. 使用pg_dumpall
    pg_dump只备份数据库集群中的某个数据库的数据,它不会导出角色和表空间相关的信息。pg_dumpall则可以导出整个数据库集群中所有的数据库中的数据,同时也会导出角色、用户和表空间的定义信息。使用pg_dumpall的一般命令格式如下:

    pg_dumpall > backup_file

    pg_dumpall也支持和pg_dump一样的命令行选项,如-h和-p等。同样可以使用psql来从pg_dumpall创建的备份文件中恢复数据库。应该使用数据库超级用户来进行恢复数据库的操作。命令格式如下:

    psql -f backup_file postgres

    pg_dumpall在执行的过程中,用postgres作为用户名来连接数据库。系统自动创建的数据库postgres中的内容也会被导出来,数据库template0和template1中的内容不会被导出来。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值