【问题标题】:Postgresql dynamic query in COPY stament with psql command使用 psql 命令在 COPY 语句中进行 Postgresql 动态查询
【发布时间】:2019-03-29 21:15:09
【问题描述】:

我正在尝试使用 COPY 语句从 Windows 命令行 psql 获取维护查询。(Windows 2012)。该查询生成维护查询作为输出文件。之后,我希望导入维护查询(reindex.sql)并使用调度程序执行。但我找不到为什么我不能执行脚本。应该有一个我无法解决的逗号技巧。

psql -U postgres -c "COPY( SELECT 'REINDEX TABLE "' || schemaname || '"."' || relname || '";'FROM pg_stat_all_tables ORDER BY n_dead_tup DESC)TO 'E:\scripts\maintenance\reindex.sql';"

【问题讨论】:

  • 您能否更详细地描述“不起作用”?

标签: postgresql


【解决方案1】:

使用format():

psql -U postgres -c ^
"COPY ( ^
SELECT format('REINDEX TABLE %s.%s', schemaname, relname) ^
FROM pg_stat_all_tables ^
ORDER BY n_dead_tup DESC) ^
TO 'E:\scripts\maintenance\reindex.sql'"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    相关资源
    最近更新 更多