Postgresql

選擇表名返回行的 csv 的文件

  • November 22, 2016

似乎在 Postgres 9.2 中這種語法

SELECT <table name>
FROM <table name>

返回所有列聚合為偽 CSV 的行,如下所示:

(1,test,48,,48,,"2016-10-29 00:47:09.348986+00","2016-10-29 00:47:09.348986+00",,1,9,1,1,,1,0,"",,"")
(6,subject,0,,,,"2016-10-30 00:54:38.203023+00","2016-10-30 00:54:38.203023+00",,1,10,1,3,,1,0,content,,)

我正在嘗試查找此行為的相關文件。到目前為止,我已經看過:

但我似乎找不到任何關於它的參考資料。

對於創建的每個表,Postgres 創建一個相應的複合類型

每當您創建表時,也會自動創建一個複合類型,與表同名,以表示表的行類型。

當您在選擇列表中使用表名時,您實際上是在使用該複合類型的單個列,其中包含多個欄位作為記錄的一部分(這是關於行和記錄以及列和欄位之間區別的一個很好的例子)。

“CSV 樣式”恰好是複合類型的預設文本表示。

行建構子與此密切相關。

這也是與Postgresselect (a,b,c) from some_table不同的原因。select a,b,c from some_table

引用自:https://dba.stackexchange.com/questions/155713