PostgreSQL备份与恢复
PostgreSQL⾃带⼀个客户端pgAdmin,⾥⾯有个备份,恢复选项,也能对数据库进⾏备份恢复(还原),
其实PostgreSQL内置不少的⼯具,寻的备份恢复⽅案就在其中:pg_dump,psql。
在数据库的安装⽬录下,如:C:\Program Files\PostgreSQL\bin⽂件夹,会看到不少的exe⽂件,这就是PostgreSQL内置的⼯具了。⾥⾯会到 ,两个⽂件。我们怎么⽤他们?
⽤法:
备份数据库,指令如下:
pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak
开始-运⾏-cmd 弹出dos控制台;然后在控制台⾥,进⼊PostgreSQL安装⽬录bin下:
cd C:\Program Files\PostgreSQL\9.0\bin
最后执⾏备份指令:
pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak
恢复数据库
例:c:\pgsql\bin  pg_restore -h localhost -p 5432 -U postgres -d yy_ly -Fc "f:\yy_ly.dump"
-h 服务器地址
-p 端⼝号
-U ⽤户号
-d 数据库名字 database
-F, --format=c|d|t      备份⽂件格式(应该⾃动进⾏)
其中--format=c|d|t    c 代表定制custor  d 代表⽬录 t 代表 tar 压缩⽂件
========================================================
D:\Program Files\pgsql\bin>pg_restore --help
pg_restore 从⼀个归档中恢复⼀个由 pg_dump 创建的 PostgreSQL 数据库.
⽤法:
pg_restore [选项]... [⽂件名]
⼀般选项:
-d, --dbname=名字连接数据库名字
-f, --file=⽂件名输出⽂件名(- 对于stdout)
-F, --format=c|d|t      备份⽂件格式(应该⾃动进⾏)
-l, --list              打印归档⽂件的 TOC 概述
-v, --verbose            详细模式
-V, --version            输出版本信息, 然后退出
-?, --help              显⽰此帮助, 然后退出
恢复控制选项:
-
a, --data-only              只恢复数据, 不包括模式
-c, --clean                  在重新创建之前,先清除(删除)数据库对象
-C, --create                创建⽬标数据库
-e, --exit-on-error          发⽣错误退出, 默认为继续
-I, --index=NAME            恢复指定名称的索引
-j, --jobs=NUM              执⾏多个并⾏任务进⾏恢复⼯作
-L, --use-list=FILENAME      从这个⽂件中使⽤指定的内容表排序
输出
-n, --schema=NAME            在这个模式中只恢复对象
-N, --exclude-schema=NAME    不恢复此模式中的对象
-O, --no-owner              不恢复对象所属者
-
P, --function=NAME(args)    恢复指定名字的函数
-s, --schema-only            只恢复模式, 不包括数据
-S, --superuser=NAME        使⽤指定的超级⽤户来禁⽤触发器
-t, --table=NAME            恢复命名关系(表、视图等)
-T, --trigger=NAME          恢复指定名字的触发器
-x, --no-privileges          跳过处理权限的恢复 (grant/revoke)
-1, --single-transaction    作为单个事务恢复
--disable-triggers          在只恢复数据的过程中禁⽤触发器
--enable-row-security        启⽤⾏安全性
数据库怎么备份数据--if-exists                  当删除对象时使⽤IF EXISTS
--no-comments                不恢复注释
-
-no-data-for-failed-tables  对那些⽆法创建的表不进⾏
数据恢复
--no-publications            不恢复发⾏
--no-security-labels        不恢复安全标签信息
--no-subscriptions          不恢复订阅
--no-tablespaces            不恢复表空间的分配信息
--section=SECTION            恢复命名节 (数据前、数据及数据后)
--strict-names              要求每个表和(或)schema包括模式以匹配⾄少⼀个实体
--use-set-session-authorization
使⽤ SESSION AUTHORIZATION 命令代替
ALTER OWNER 命令来设置所有权
联接选项:
-h, --host=主机名数据库服务器的主机名或套接字⽬录
-p, --port=端⼝号数据库服务器的端⼝号
-U, --username=名字以指定的数据库⽤户联接
-w, --no-password        永远不提⽰输⼊⼝令
-W, --password          强制⼝令提⽰ (⾃动)
--role=ROLENAME          在恢复前执⾏SET ROLE操作
选项 -I, -n, -N, -P, -t, -T, 以及 --section 可以组合使⽤和指定
多次⽤于选择多个对象.
⽰例:
D:\Program Files\pgsql\bin>pg_restore -h localhost -p 5432 -U postgres -d yy_ly -Fc "f:\yy_ly.dump"⼀、备份:
导出命令:pg_dump [OPTION]… [DBNAME]
查看使⽤帮助:pg_dump –help
主要参数解释:
关键字说明(默认值)
-h, –host=HOSTNAME    数据库服务器IP
-p, –port=PORT    数据库服务器端⼝号
-U, –username=NAME    ⽤户名
-W, –password    密码
-F, –format=c|t|p    输出⽂件格式(custom,tar,plain text)
-v, –verbose    详细信息模式,会显⽰备份时的信息
-f, –file=FILENAME    输出⽂件名
-
b, –blobs    在dump⽂件中包含⼤对象

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。