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小时内删除。
发表评论