web-dev-qa-db-ja.com

「psql--quiet」のような「pg_restore--quiet」オプションはありますか?

psqlには-q/--quietオプション(環境変数QUIET)があります。 pg_restoreにはクワイエットオプションがありません。 pg_restoreが実行中のSQLコマンドを詳細に表示しないようにする方法はありますか?

# e.g., here's the verbose output that I don't want to see:
$ pg_restore --cluster 8.4/mycluster mycluster.dump
---- PostgreSQL database dump
--
SET statement_timeout = 0;SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;SET check_function_bodies = false;
...
--
-- Name: data_src; Type: TABLE; Schema: public; Owner: postgres; Tablespace:--
CREATE TABLE data_src (
...
31
Rob Bednark

質問は、pg_restoreはこれらのSQLコマンドを実行しているので、出力に表示したくないでしょう。しかし、それらを出力することは、それがすべきことだけです。

pg_restoreには、データベースへの接続の有無にかかわらず、2つの操作モードがあります。データベースなしで呼び出された場合(-dオプション)質問に示されているように:

$ pg_restore --cluster 8.4/mycluster mycluster.dump

その唯一の目的は、データベースを復元するためにSQLインタープリターに提供する必要がある一連のSQLコマンドをプレーンテキストで出力することです。これらのSQLコマンドは、冗長性の概念がまったくない一貫したセットを形成し、実行されない by pg_restore自体。それらは通常、後で実行するためにファイルにリダイレクトされるか、すぐに実行するためにpsqlにパイプされます。

54
Daniel Vérité

Stdoutをファイルにリダイレクトできます。

pg_restore --cluster 8.4/mycluster mycluster.dump > pg_restore.log

または、-dオプションを指定しますが、必要なのは-fまたは-d

pg_restore -f pg_restore.sql --cluster 8.4/mycluster mycluster.dump
pg_restore -d yourdatabase --cluster 8.4/mycluster mycluster.dump
1
Ligemer