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


当前回答

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

\dt <table> <table>

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

\d <table> <table>

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

\d+ <table> <table>

其他回答

除了已经找到的命令行\d+<table_name>之外,还可以使用info_schema.columns使用信息模式查找列数据

SELECT *
FROM info_schema.columns
WHERE table_schema = 'your_schema'
AND table_name   = 'your_table'

这应该是解决方案:

SELECT * FROM information_schema.columns
WHERE table_schema = 'your_schema'
   AND table_name   = 'your_table'

当表名以大写字母开头时,应将表名放在引号中。

示例:\d“用户”

您可以使用此选项:

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

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

\d+ tablename or \d tablename