【问题标题】:Meta commands in Psycopg2 - \d not workingPsycopg2 中的元命令 - \d 不起作用
【发布时间】:2015-07-28 16:32:43
【问题描述】:

我希望使用 Python (2.7) 的 psycopg2 包列出表的所有列名。但我无法执行以下查询 -

cur.execute("\d my_table");
psycopg2.ProgrammingError: syntax error at or near "\"

关于如何使用 psycopg2 列出表的列名是否有替代方法?请指出任何重复项。谢谢!

【问题讨论】:

    标签: python postgresql psycopg2


    【解决方案1】:

    命令行psql 有一些快捷方式,例如\d,但它不是SQL 的一部分。你需要的是查询information_schema

    SELECT column_name FROM information_schema.columns WHERE table_name = 'my_table';
    

    编辑: 命令行psql -E 将回显用于实现\d 和其他反斜杠命令的SQL 查询和其他反斜杠命令(无论何时在psql 提示符中使用其中一个),这确实是一个重要信息正如@piro 在评论中所写。这样你就可以很容易地得到你想要的。
    感谢@piro!

    【讨论】:

    • 无。但是,您可以通过查询 information_schema 和/或 pg_catalog 来使用元命令。
    • 请注意psql -E 将发出内部用于实现\d 和其他反斜杠命令的查询,这对于探索pg_catalog 非常方便。
    猜你喜欢
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    相关资源
    最近更新 更多