`
wjm251
  • 浏览: 108667 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

postgres启动停止备份恢复

阅读更多

postgres  --version


-h host 缺省主机是本地主机或环境变量PGHOST声明的值。
-p port 缺省端口是环境变量PGPORT

创建数据库集群

 

initdb -D data -E utf-8
1.启动数据库
postgres\bin\pg_ctl.exe  -D "d:\vts\data"  start  -l "log.txt"
启动pgbouncer
到pgbouncer目录下 pgbouncer.exe [-v] pgbouncer.ini

2.停数据库的过程
taskkill /F /FI "IMAGENAME eq pgbouncer*" >nul 2>&1
\postgres\bin\pg_ctl.exe -D "d:\data" stop -m fast > nul 2>&1

3.备份数据库
postgres\bin\pg_dump.exe -D -h localhost -U postgres [-p 6432] imapeamdb > 2011-01-11-17-33-16_imapeamdb.dump > nul 2>&1
如果你的数据库结构依赖于 OID (比如说用做外键),那么你必须告诉 pg_dump 把 OID 也倒出来。 要倒 OID,可以使用 -o 命令行

缺省的时候 pg_dump 并不转储大对象。 要转储大对象必须用如下参数
-Ft -b  tar 输出格式
-Fc -b  客户化

 

-b输出的是二进制格式,不加输出的是sql,可以用psql恢复

4.恢复数据库
postgres\bin\psql.exe -h localhost -U postgres -d dbname < 2011-01-11-17-33-16_mydb.dump  > psql_import.log

恢复非文本备份
pg_restore.exe -p 6432 -Upostgres  -d imapeamdb [-c] d:\dbFt.tar 
-c参数 创建数据库对象前先清理(删除)它们clean 
-C参数 pg_restore -C -d template1 backup.pgd  恢复到备份时的那个数据库,但如果原数据库不存在,可以这样写template1

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics