2017-05-22 17 views
1

私はPostgresの知識がない同僚からプロジェクトを受け取りました。私はpg_restoreをJenkins Pipelineジョブに統合しようとしていますが、それは間違いがないと言われている1つのエラーを返します。しかし、このエラーは明らかにJenkinsジョブが失敗する原因となります。これはunidealです。pg_restore - 特定のエラーを無視する

他の(より深刻な)エラーが記録されるのを止めることなく、この1つのエラーの出力を緩和または抑制する方法はありますか?

再び

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'; 

私は(剥奪すべての個人データを)実行しているコマンドは

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

であり、それがこのエラーを返します(ただし、正常に実行される)、私はゼロ未満のPostgresの経験を持っています。この1つのエラーを無視する簡単な方法はありますか、これはちょうど私が住む必要があるものですか?

+0

[PostgreSQLデータベースの復元時に権限の問題を解決する方法](https://stackoverflow.com/questions/13410631/how-to-solve-privileges-issues-when-restore-postgresql-database) – dmfay

+0

@ dmfayあなたはpostgresのアプローチから正しいかもしれませんが、私はエラーを抑制するほど根本的な問題を解決しようとはしていません。私はデータベースにアクセスできないので、これは私が編集できる唯一の事はジェンキンスの仕事と私が実行しているコマンドです。 – Alex

答えて

0

pg_restoreをソースデータベース内の拡張機能を所有するユーザーとして実行すると、実際の問題が解決されます。ただ問題を抑制するための

:最初の行として#!/bin/sh -xを追加する古いスタイルのスクリプトステップでは、ゼロ以外の戻りコード(ジェンキンスは通常、同様-eオプション付きでシェルを実行します)に中断するのを防ぐでしょう。それはパイプラインのビルドとショットをする価値があるが、私はそれが同じように動作するかどうかはわからない。その場合は、以外のの悪質な戻りコードの後に​​もスクリプトが続行されることに注意してください。

関連する問題