功能描述
使用pg_dump命令可以把一个数据库转储为纯文本文件或其他格式的文件,从而实现对数据库进行备份。
命令语法
pg_dump [选项] [数据库名]
选项含义
| 选项 | 含义 |
| -f<文件名> | 指定输出文件 |
| -v | 详细模式 |
| -a | 只转储数据,不包括模式 |
| -s | 只转储模式,不包括数据 |
| -T<表> | 不转储指定名称的表 |
| -t<表> | 只转储指定名称的表 |
| -x | 不要转储权限 |
| -b | 在转储中包括大对象 |
| -n<模式> | 只转储指定名称的模式 |
| -C | 在转储中包括命令,以便创建数据库 |
| -c | 在重新创建之前,先删除数据库对象 |
| -Z<压缩级别> | 指定压缩级别,压缩级别为0~9的数字 |
| -S<用户名> | 在转储中,指定的超级用户名 |
| -N<模式> | 不转储指定的模式 |
| -h<主机名> | 数据库服务器的主机名 |
| -p<端口号> | 数据库服务器端口号 |
| -U<用户名> | 以指定的数据库用户连接 |
| -w | 永远不提示输入口令 |
| -W | 强制口令提示 |
| –inserts | 以INSERT命令,而不是COPY命令的形式转储数据 |
| –column-inserts | 以带有列名的INSERT命令形式转储数据 |
| –no-tablespaces | 不转储表空间分配信息 |
| –disable-triggers | 在只恢复数据的过程中禁用触发器 |
| -F<格式> | 输出文件格式,格式为c、t、p,c为定制,t为tar,p为明文 |
例
备份数据库www
[root@linuxlz.com~]# su – postgres
-bash-4.1$ pg_dump www>www.sql
备份数据库www,输出文件格式为c
-bash-4.1$ pg_dump -Fc www>www.sql
备份数据库www中的表table1
-bash-4.1$ pg_dump -t table1 www>table1.sql
备份数据库www中public模式中所有表名以table开头的表,排除table1表
-bash-4.1$ pg_dump -t ‘public.table*’ -T public.table1 www>www.sql
在数据库www中备份以east和west开头,以gsm结束的模式,不包括包含test字符的模式。
-bash-4.1$ pg_dump -n ‘east*gsm’ -n ‘west*gsm’ -N ‘*test*’ www>www.sql
在数据库www中备份以east和west开头,以gsm结束的模式,不包括包含test字符的模式。
-bash-4.1$ pg_dump -n ‘(east|west)*gsm’ -N ‘*test*’ www>www.sql
备份www数据库,排除表名以tab开头的表。
-bash-4.1$ pg_dump -T ‘tab*’ www>www.sql
正文完