一時テーブルにデータを挿入し、正常に動作しています。以下は、同じのpsedo sqlコードです
with cte as(
)
select *
into temp_table
from cte
このアプローチでは、データは一時テーブルに非常に高速に挿入されます。私の知っているように、セッションが閉じられると一時テーブルは削除されます。しかし、pgadmin接続を閉じても、一時テーブルは削除されません。
私の質問は、postgresqlの一時テーブルが自動的に削除されるのか、それとも削除するまでディスク領域に残っているのかです。
よろしく、
サンジャイ・サランケ
実際、通常のテーブルを作成しました。これが一時テーブルであることを指定する必要があります。
with cte as(
-- <a_query>
)
select *
into temporary temp_table
from cte;
または(推奨される構文):
create temporary table temp_table as
-- <a_query>
SELECT INTO および CREATE TABLE AS。 を参照してください。
Postgresドキュメント によると、一時テーブルはセッションの終了時またはトランザクションの終了時に削除されます。
TEMPORARYまたはTEMP
指定した場合、テーブルは一時テーブルとして作成されます。 一時テーブルは、セッションの終わりに、またはオプションで現在のトランザクションの終わりに自動的に削除されます(以下のON COMMITを参照)。同じ名前の既存の永続テーブルは、スキーマ修飾名で参照されない限り、一時テーブルが存在している間は現在のセッションから見えません。一時テーブルに作成されたインデックスも自動的に一時的です。