Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建备份后,请验证文件是否已损坏或使用正确的数据(Postgresql)创建_Postgresql - Fatal编程技术网

创建备份后,请验证文件是否已损坏或使用正确的数据(Postgresql)创建

创建备份后,请验证文件是否已损坏或使用正确的数据(Postgresql)创建,postgresql,Postgresql,我的应用程序通过cmd执行备份,我无法知道备份是否正常。在某些情况下,备份文件是生成的,但它已损坏,我对此已经有很多麻烦了 pg_dump.exe --host localhost --port 5432 --username postgres --format tar --file c:\my_backup.backup my_database 在备份过程期间或之后,是否可以检测是否存在问题? 谢谢:)与其他RDBMS(如Microsoft SQL Server的RESTORE VERIFY

我的应用程序通过cmd执行备份,我无法知道备份是否正常。在某些情况下,备份文件是生成的,但它已损坏,我对此已经有很多麻烦了

pg_dump.exe --host localhost --port 5432 --username postgres --format tar --file c:\my_backup.backup my_database
在备份过程期间或之后,是否可以检测是否存在问题?
谢谢:)

与其他RDBMS(如Microsoft SQL Server的RESTORE VERIFYONLY命令)不同,PostgreSQL命令无法检查备份是否可读且未损坏

事实上,PostgreSQL备份文件不是备份,而是逻辑“转储”(用于重建数据库的一系列SQL命令),与Oracle或SQL Server不同,后者的备份是二进制备份(数据页),因此可以在备份时或备份后的任何时间验证内部校验和

确保PostgreSQL备份一致的唯一方法是还原它。。。!当然,这种方法在生产中尤其糟糕。。。(时间和数量都很昂贵!)


请参阅我论文中的§“13–糟糕的备份/恢复策略:

您可能希望在您的博客中修复PostgreSQL的拼写:我当然不想。这里有一个解释,这让我能够立即轻松地认识到我的主张。如果你拒绝正确填写产品名称,你希望阅读你博客的人如何认真对待你?你会认真对待一个经常提到“MicroSoft sql SerVER”的博客吗?转储并不是真正的备份:pg_转储不会随机损坏备份。如果它退出时带有成功代码,但实际上已损坏,那么您应该了解发生了什么,而不仅仅是它上面的墙纸。这并不是说你不应该也测试它。