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/