功能描述
使用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