Psycopg2中的元命令 - \d无法正常工作

Uts*_*v T 7 python postgresql psycopg2

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

cur.execute("\d my_table");
psycopg2.ProgrammingError: syntax error at or near "\"
Run Code Online (Sandbox Code Playgroud)

是否可以使用列表来列出表的列名psycopg2?请指出任何重复.谢谢 !

Elm*_*lmo 5

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

SELECT column_name FROM information_schema.columns WHERE table_name = 'my_table';
Run Code Online (Sandbox Code Playgroud)

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

  • 没有.但是,通过查询`information_schema`和/或`pg_catalog`,您也可以使用元命令执行操作. (2认同)
  • 请注意,`psql -E`将发出内部用于实现`\ d`和其他反斜杠命令的查询,这对于探索`pg_catalog`来说非常方便. (2认同)