如何使用psql命令在PostgreSQL中执行Oracle的DESCRIBE TABLE?


当前回答

描述表的最佳方式,如列、类型、列的修饰符等。

\d+ tablename or \d tablename

其他回答

您可以使用此选项:

SELECT attname 
FROM pg_attribute,pg_class 
WHERE attrelid=pg_class.oid 
AND relname='TableName' 
AND attstattarget <>0; 

当您的表不是默认模式的一部分时,您应该写:

\d+ schema_name.table_name

否则,您将得到错误消息,即“关系不存在”

下面的命令可以简单地描述多个表

\dt <table> <table>

下面的命令可以详细描述多个表:

\d <table> <table>

下面的命令可以更详细地描述多个表:

\d+ <table> <table>

您可以使用星号执行\d*搜索模式*,以查找与您感兴趣的搜索模式匹配的表。

即使请求了psql命令,我也会添加pg_dump命令。因为它生成了以前的MySQl用户更常见的输出。

#sudo-u postgres pg_dump--table=my_table_name--仅模式mydb