gpt4 book ai didi

postgresql - pg_restore - 忽略特定错误

转载 作者:行者123 更新时间:2023-11-29 13:48:52 30 4
gpt4 key购买 nike

我从一位对 Postgres 零知识的同事那里得到了一个项目。我正在尝试将 pg_restore 集成到 Jenkins Pipeline 作业中,它返回一个错误,我被告知可以忽略该错误。但是这个错误很明显会导致Jenkins job失败,很不理想。

有没有办法减轻或扼杀这个错误的输出,而不阻止记录任何其他(更严重的)错误?

我正在运行的命令(删除了所有个人数据)是

PGPASSWORD="password" pg_restore -h path -U user -d database filename -F c -c

并返回此错误(但执行成功)

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 8290; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR: must be owner of extension plpgsql
Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';

同样,我的 Postgres 经验还不到零。有没有一种简单的方法可以忽略这个错误,或者这只是我需要忍受的东西?

最佳答案

如果您以在源数据库中拥有扩展的用户身份运行 pg_restore,那将真正解决问题。

为了抑制问题:使用旧式脚本步骤,添加 #!/bin/sh -x 作为第一行将防止它在非零返回码上中止(Jenkins通常也使用 -e 选项运行 shell)。管道构建值得一试,但我不确定它是否会以同样的方式工作。如果是这样,请注意脚本也会在 其他 错误返回码之后继续。

关于postgresql - pg_restore - 忽略特定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44115750/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com