2. cd C:\Program Files\PostgreSQL\9.2\bin
3. 备份
仅结构 带【drop】
pg_dump -U postgres -c -s -f C:\postgres3.sql postgres
结构和数据 带【drop】
pg_dump -U postgres -c -f C:\postgres4.sql postgres
4.恢复
psql -U postgres -f C:\postgres4.sql p2 >log4.txt 2>&1
pg_dump 接受下面的命令行参数:
dbname
声明将要抽取的数据库名.dbname 缺省为 USER 环境变量的值.
-a
只输出数据,不输出结构(表定义).
-c
创建前删除表定义。
-d
将数据输出为合适的插入字串.
-D
将数据作为带字段名的插入语句输出.
-i
忽略在 pg_dump 和数据库服务器之间的版本差别.因为 pg_dump知道许多关于系统表的信息,任何给定版本的 pg_dump只能和对应的数据库服务器版本一并使用.如果你需要跨越版本检查时才使用这个选项(而且如果 pg_dump 失效,别说我没警告你).
-n
除非绝对必需,禁止标识周围的双引号.如果有保留字用于标识符,这么做有可能在装载输出的数据时导致麻烦.这是v6.4以前的 pg_dump 缺省特性。
-N
在标识周围包括双引号。这是缺省。
-o
为每个表都输出对象标识(OID).
-s
只输出表结构(定义),不输出数据.
-t table
只输出表 table 的数据.
-u
使用口令认证.提示输入用户名和口令.
-v
声明冗余模式
-x
避免输出 ACL(赋予/撤消 命令)和表的所有者关系信息.
pg_dump 同样接受下面的命令行参数作为联接参数:
-h host
声明 postmaster 在运行的机器的主机名.缺省是使用本地Unix主控套接字,而不是一个IP 联接.
-p port
声明 postmaster 正在侦听并等待联接的TCP/IP端口或本地 Unix 主控套接字文件句柄.缺省的端口号是5432,或者环境变量 PGPORT的值(如果存在).
-u
使用口令认证,提示输入 username 和 password.