Postgresql “如何捕捉”;“分析详细的表名”;输出到日志文件

Postgresql “如何捕捉”;“分析详细的表名”;输出到日志文件,postgresql,shell,Postgresql,Shell,当从shell脚本执行时,我想将“ANALYZE VERBOSE TableName”的输出捕获到输出文件中 要捕获以下内容: 信息:分析“tablename”信息:“tablename”:扫描1页中的1页, 包含7个活行和2个死行;样本中7行,估计7行 总行数 使用此命令 psql -h $DB_HOST_NAME -U $DB_USER $DB_NAME -f query.txt --echo-errors --echo-queries >> output.log 但它只是捕获

当从shell脚本执行时,我想将“ANALYZE VERBOSE TableName”的输出捕获到输出文件中

要捕获以下内容:

信息:分析“tablename”信息:“tablename”:扫描1页中的1页, 包含7个活行和2个死行;样本中7行,估计7行 总行数

使用此命令

psql -h $DB_HOST_NAME -U $DB_USER $DB_NAME -f query.txt --echo-errors --echo-queries >> output.log
但它只是捕获文本“分析”,而不是捕获整个文本


请建议如何将整个文本打印到输出文件中。

您试图捕获的输出是通过stderr定向的,因此您需要在shell级别捕获/重定向该输出。这可以根据您的OS/Shell版本进行调整。在带有3.2.57的OSX上,您需要使用:

psql-h$DB\U HOST\U NAME-U$DB\U USER$DB\U NAME-f query.txt--echo querys>>output.log 2>&1


如果这不起作用,请尝试查找您正在使用的任何操作系统/shell组合的详细信息

您试图捕获的输出是通过stderr定向的,因此您需要在shell级别捕获/重定向该输出。这可以根据您的OS/Shell版本进行调整。在带有3.2.57的OSX上,您需要使用:

psql-h$DB\U HOST\U NAME-U$DB\U USER$DB\U NAME-f query.txt--echo querys>>output.log 2>&1


如果这不起作用,请尝试查找您正在使用的任何操作系统/shell组合的详细信息

替换并尝试使用
--echo querys>>输出.log
替换并尝试使用
--echo querys 2>&1>>输出.log
它仍然没有捕获细节:(@PS.I认为应该是--echo querys>>输出文件2>&1替换并尝试使用
--echo querys>>输出.log
它仍然没有捕获细节:(@PS.I认为应该是--echo querys>>outfile 2>&1