Postgresql
選擇表名返回行的 csv 的文件
似乎在 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 樣式”恰好是複合類型的預設文本表示。
行建構子與此密切相關。
這也是與Postgres
select (a,b,c) from some_table
不同的原因。select a,b,c from some_table