3
A
回答
4
您需要查詢pg_catalog
或information_schema
模式下的相應表格。 運行psql -E ...
然後PSQL顯示在內部命令中使用像\d, \dt, \dv, ...
information_schema
元數據查詢是相同pg_catalog
但更portalbe(它是在SQL標準中定義)。如果應用程序使用Postgres的只有我會使用,而不是information_schema
例如pg_catalog,這個查詢顯示列attribute
SELECT a.attname,
pg_catalog.format_type(a.atttypid, a.atttypmod),
(SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)
FROM pg_catalog.pg_attrdef d
WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef),
a.attnotnull, a.attnum
FROM pg_catalog.pg_attribute a
WHERE a.attrelid = 'attribute'::regclass AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
UPDATE: 您可以使用簡單的查詢是這樣的:
SELECT attname
FROM pg_catalog.pg_attribute
WHERE attrelid = 'attribute'::regclass AND attnum > 0 AND NOT attisdropped
或使用同等查詢:
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'attribute'
ORDER BY ordinal_position
如果在多個模式中具有相同名稱的同一表,則還需要用戶模式名稱,查詢會稍微複雜一點。
相關問題
- 1. 如何從屬性集中獲取屬性名稱列表
- 2. 如何獲取屬性列的名稱?
- 3. 如何在tpl中訪問屬性名稱(不僅僅是值)?
- 4. 如何從不同名稱的屬性列表中選擇值?
- 5. R:如何從屬性的嵌套列表中設置名稱
- 6. 如何爲另一個表創建表屬性名稱的列名稱
- 7. 列出PostgreSQL數據庫的所有索引名稱,列名稱及其表名
- 8. SQLAlchemy從表和列名稱中獲取屬性名稱
- 9. 刪除SimpleDB中的「列」名稱/屬性
- 10. l_ply:如何將列表的名稱屬性傳遞給函數?
- 11. 我如何找到對象的屬性名稱列表
- 12. 如何從oracle中提取clob XML屬性名稱列表
- 13. 如何在列表中循環並訪問名稱和屬性?
- 14. WPF - 如何comboboxitem列表中查看屬性名稱
- 15. 如何僅更新屬性列表Rails?
- 16. 如何獲取表單名稱屬性
- 17. Hibernate使用列名稱屬性名稱
- 18. 如何從PostgreSQL查詢表的字段名稱列表?
- 19. pg-promise中的選擇列表中的相同名稱屬性
- 20. PostgreSQL - 表格的列名稱是一個函數的名稱
- 21. 如何序列化屬性名稱和屬性值的屬性值
- 22. JavaScript中的屬性名稱
- 23. 屬性類中的名稱
- 24. 如何從該屬性的getter/setter中獲取屬性名稱?
- 25. 如何從類實例的屬性中獲取屬性名稱?
- 26. 探索PowerShell的輸出屬性名稱
- 27. DataAnnotations:讀出的名稱屬性代碼
- 28. 如何使用屬性的名稱
- 29. 如何翻譯@Enumerated屬性的名稱?
- 30. 如何覆蓋RadioButtonFor的名稱屬性?
非常感謝您的回答。不過,我還是不太明白。您發佈的查詢在'屬性'附近顯示錯誤。我試過「從pg_catalog.pg_attribute選擇attname;」但是,它顯示的不僅僅是我需要的。 –
對不起,'屬性'是我的示例表名:)。什麼是錯誤信息?這是來自Postgres 8.4 - 也許是一些複製和粘貼格式問題。如果你有名爲'my_table'的表,那麼使用'... WHERE a.attrelid ='my_table':: regclass AND ...' – mys