(五)文件格式与备份恢复的关系---版本
对于custom(pg_backup_custom.c)格式,文件头中有两个和版本相关的内容,一个是服务器的版本、一个是程序的版本,这两个版本标识的作用如下:
1 服务器的版本:表示本导出导入工具、所连接的数据库服务器的版本。如果服务器的版本低于7.1,则不支持。可以阅读代码中的_check_database_version函数。服务器的版本可以决定导出程序在读出数据(从系统表读出数据)的内容和格式。可以借鉴:getOperators、getTables等get系列的函数
2 程序的版本:标识本导出文件,是被pg_dump的哪个版本的程序导出的。
除了以上2种版本号外,PoatgresSQL的导出导入工具还支持:
3 在ArchiveHandle结构中,有“version”的属性, 标识数据格式的版本。这样,不同版本导出的文件,也许可以有不同的格式,在pg_restore做恢复的时候,可以根据程序版本识别数据格式,进而支持对于数据文件的兼容。可以读ReadHead函数了解起作用。
对于custom(pg_backup_custom.c)格式,文件头中有两个和版本相关的内容,一个是服务器的版本、一个是程序的版本,这两个版本标识的作用如下:
1 服务器的版本:表示本导出导入工具、所连接的数据库服务器的版本。如果服务器的版本低于7.1,则不支持。可以阅读代码中的_check_database_version函数。服务器的版本可以决定导出程序在读出数据(从系统表读出数据)的内容和格式。可以借鉴:getOperators、getTables等get系列的函数
2 程序的版本:标识本导出文件,是被pg_dump的哪个版本的程序导出的。
除了以上2种版本号外,PoatgresSQL的导出导入工具还支持:
3 在ArchiveHandle结构中,有“version”的属性, 标识数据格式的版本。这样,不同版本导出的文件,也许可以有不同的格式,在pg_restore做恢复的时候,可以根据程序版本识别数据格式,进而支持对于数据文件的兼容。可以读ReadHead函数了解起作用。