From PostgreSQL version 9.1 onward, pg_dump uses the isolation level serializable. It used to be repeatable read until SSI implementation… more on that later. 从PostgreSQL 版本 9.1 开始,pg_dump 使用隔离级别可序列化。在实现 SSI 之前,它一直是可重复读取的。 代码中也有这么一段逻辑,开启事务 /* ...
值得注意的是,在此不完全决定了对象的导出次序,原则是被依赖的对象先导出。在这些函数中,注意类似如下的调用序列: tblinfo = getTables(numTables); tblinfoindex = buildIndexArray(tblinfo, numTables, sizeof(TableInfo)); 1. 2. 这表明先导出表,再导出依附于表的索引信息。 flagInhTables(tblinfo, numT...
备份还原方法:pg_dump和pg_restore,先仔细说明这两个命令,再记录我的操作方法。 pg_dump--将一个PostgreSQL数据库抽出到一个脚本文件或者其它归档文件中 pg_dump[option...][dbname] 选项option... 下面的命令行参数控制输出的内容和格式。 dbname 声明将要转储的数据库名。如果没有声明这个参数,那么使用环境...
备份还原方法:pg_dump和pg_restore,先仔细说明这两个命令,再记录我的操作方法。 pg_dump--将一个PostgreSQL数据库抽出到一个脚本文件或者其它归档文件中 pg_dump[option...][dbname] 选项option... 下面的命令行参数控制输出的内容和格式。 dbname 声明将要转储的数据库名。如果没有声明这个参数,那么使用环境...
值得注意的是,在此不完全决定了对象的导出次序,原则是被依赖的对象先导出。在这些函数中,注意类似如下的调用序列: tblinfo= getTables(numTables);tblinfoindex= buildIndexArray(tblinfo, numTables, sizeof(TableInfo)); 这表明先导出表,再导出依附于表的索引信息。
只转储数据,而不转储模式(数据定义)。表数据、大对象和序列值都会被转储。 这个选项类似于指定--section=data,但是由于历史原因又不完全相同。 -b --blobs 在转储中包括大对象。这是当--schema、--table或--schema-only被指定时的默认行为,因此-b开关仅对于将大对象添加到已请求特定模式或表的转储中时有用。
-t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表 -T table,–exclude-table=table,不转存匹配到的表。 –inserts,使用insert命令形式导出数据,这种方式比默认的copy方式慢很多,但是可用于将数据导入到非PostgreSQL数据库。
-t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表 -T table,–exclude-table=table,不转存匹配到的表。 –inserts,使用insert命令形式导出数据,这种方式比默认的copy方式慢很多,但是可用于将数据导入到非PostgreSQL数据库。
-t table 或 --table=table:只输出匹配表、视图、序列,可以使用多个 -t 匹配多个表,也可以匹配通配符,使用通配符时最好用引号进行界定,防止shell将通配符进行扩展。优先级高于 -n。 -T table 或 --exclude-table=table:排除表输出。优先级低于 -t。
只转储数据,而不转储模式(数据定义)。表数据、大对象和序列值都会被转储。 -c --clean 在输出创建数据库对象的命令之前输出清除(删除)它们的命令 (除非也指定了--if-exists,如果任何对象不存在于 目的数据库中,恢复可能会产生一些伤害性的错误消息)。