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具有两种操作模式,可以连接或不连接数据库。在没有数据库的情况下调用它(-d选项),如问题所示:



那么它的唯一目的是输出一组纯文本格式的SQL命令,这些命令应该馈送到SQL解释器以恢复数据库。这些SQL命令形成了一个连贯的集合,没有任何冗长的概念,并且它们是而不由pg_restore本身执行。通常将它们重定向到文件中以供以后执行,或通过管道传递给psql以立即执行。

关于postgresql - 有像 “pg_restore --quiet”这样的 “psql --quiet”选项吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11485358/

10-13 05:03