Linux下备份PostgresSQL

备份数据库(以robot为例)
①导出 dmp 文件
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/pg_dump robot > /home/postgres/robot.dmp
备注:其他用户操作的时候可以使用
[root@myhadoop ~]# /home/postgres/pgsql/bin/pg_dump -U postgres robot > /home/postgres/robot.dmp
②删除数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/dropdb robot
备注:其他用户操作可以使用
[root@myhadoop ~]# /home/postgres/pgsql/bin/dropdb -U postgres robot
③新建数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/createdb robot
备注:其他用户操作可以使用
[root@myhadoop ~]# /home/postgres/pgsql/bin/createdb -U postgres robot
④使用 dmp 文件重建
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/psql robot < /home/postgres/robot.dmp
备注:其他用户操作可以使用
[root@myhadoop ~]# /home/postgres/pgsql/bin/psql -U postgres robot < /home/postgres/robot.dmp

//////////////////////////////////////////////////////////////////////////////////////////

备份所有数据库
①导出 dmp 文件
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/pg_dumpall > /home/postgres/all.dmp
②删除数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/dropdb robot
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/dropdb postgres  (这个默认的数据库可以不用删除,不删除的话就不要执行第三步)
③创建数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/createdb postgres
④恢复数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/psql -f /home/postgres/all.dmp postgres

///////////////////////////////////////////////////////////////////////////////////////////

导出 sql 的方式备份(以 robot 库为例)
①备份: $ pg_dump -U {user-name} {source_db} -f {dumpfilename.sql}
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/pg_dump -U postgres robot -f /home/postgres/robot.sql

②恢复: 
2.1 先删除数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/dropdb robot
备注:其他用户操作时可以使用
[root@myhadoop postgres]# /home/postgres/pgsql/bin/dropdb -U postgres robot
2.2 再创建数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/createdb robot
备注:其他用户操作时可以使用
[root@myhadoop postgres]# /home/postgres/pgsql/bin/createdb -U postgres robot

2.3 恢复数据 $ psql -U {user-name} -d {desintation_db} -f {dumpfilename.sql}
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/psql -U postgres -d robot -f /home/postgres/robot.sql


/////////////////////////////////////////////////////////////////////////////////////////////////////////


//创建数据库用户
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/createuser robot
//创建数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/createdb -O robot robot
//登陆数据库
[postgres@myhadoop ~]$ /home/postgres/pgsql/bin/psql -U robot -d robot
//修改密码(输入两次密码)
robot=> \password
 

上一篇:pgsql物理复制


下一篇:postgresql集群的搭建