我在哪裏可以在posgresql文件夾中找到創建的臨時表?!?如果我從temp_table中選擇*,比我得到的結果,但無法看到它在PgAdmin中的數據庫結構?臨時表在哪裏創建?
2
A
回答
4
將臨時表放入名爲「pg_temp_NNN」的模式中,其中「NNN」表示您連接到的是哪個服務器後端。這會隱式添加到創建它們的會話中的搜索路徑中。
請注意,您不能通過另一個連接訪問一個連接的臨時表......因此,根據pgAdmin如何組織其連接,即使能夠在對象資源管理器中查找表可能沒有用。
0
這裏是一個辦法讓pg_temp_ 名NNN模式爲會話:
select distinct 'pg_temp_'||sess_id from pg_stat_activity where procpid = pg_backend_pid()
這將確定正在運行的SQL語句本身的會話,並返回會話ID,它正在運行。
然後,您可以使用此列出你所有的臨時表:
select *
from information_schema.tables
where table_schema =
(select distinct 'pg_temp_'||sess_id
from pg_stat_activity
where procpid = pg_backend_pid()
)
或獲得表結構:
select *
from information_schema.columns
where table_schema =
(select distinct 'pg_temp_'||sess_id
from pg_stat_activity
where procpid = pg_backend_pid()
)
and table_name = 'my_temp_table'
order by ordinal_position
+0
請編輯您的答案以提供更多詳細信息。 – Gray 2017-02-17 16:26:39
+1
'從pg_namespace中選擇nspname,其中oid = pg_my_temp_schema();'更短 – 2017-02-20 12:43:41
相關問題
- 1. CGI.pm通常創建臨時文件在哪裏?
- 2. 創建臨時表
- 3. 創建臨時表
- 4. 創建臨時表
- 5. 在SQL中實時創建臨時表
- 6. 創建臨時Excel圖表
- 7. 如何創建臨時表
- 8. 新創建時DOM元素在哪裏?
- 9. 在哪裏創建MySql表ServiceStack&OrmLite
- 10. Flask + Peewee:在哪裏創建表?
- 11. 創建表,但它在哪裏?
- 12. 當MySQL創建臨時表時,包含哪些數據?
- 13. 在SQL中創建臨時表
- 14. 在函數內部創建臨時表
- 15. 在mysql中創建臨時表
- 16. 在Hive中創建臨時表?
- 17. 在informix中創建臨時表4GL SE
- 18. 在哪裏創建實例
- 19. Arduino Serial創建在哪裏?
- 20. 我在哪裏創建php.ini
- 21. MS Chart控件創建的臨時文件應該放在哪裏?
- 22. 臨時表在哪裏獲取存儲在SQL Server中?
- 23. 創建哪裏或在Postgres裏
- 24. 減少創建臨時表的時間
- 25. 從SQL Server中的臨時表創建臨時視圖
- 26. SQL-爲計算而創建臨時表
- 27. MySQL連接池和創建臨時表
- 28. 全局臨時表創建失敗
- 29. SQL中的臨時表創建
- 30. pl/sql創建臨時全局表
pgAdmin的使用爲對象瀏覽器和查詢工具獨立的連接,所以這樣就不可能看到臨時表。 – 2010-06-14 17:41:42
它創建臨時表的代價是多少?它等同於在內存中創建數據結構嗎? – Peter 2014-02-16 13:28:27
如何獲取此臨時模式的名稱?我需要從information_schema.tables中提取表定義,所以別名「pg_temp」對我來說沒有用處。 – PhilHibbs 2017-02-17 12:27:05