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 (
...
質問は、pg_restore
はこれらのSQLコマンドを実行しているので、出力に表示したくないでしょう。しかし、それらを出力することは、それがすべきことだけです。
pg_restore
には、データベースへの接続の有無にかかわらず、2つの操作モードがあります。データベースなしで呼び出された場合(-d
オプション)質問に示されているように:
$ pg_restore --cluster 8.4/mycluster mycluster.dump
その唯一の目的は、データベースを復元するためにSQLインタープリターに提供する必要がある一連のSQLコマンドをプレーンテキストで出力することです。これらのSQLコマンドは、冗長性の概念がまったくない一貫したセットを形成し、実行されない by pg_restore
自体。それらは通常、後で実行するためにファイルにリダイレクトされるか、すぐに実行するためにpsql
にパイプされます。
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