【PostgreSQL】暫存資料表

來源:互聯網
上載者:User

標籤:刪除   primary   test   會話   reserve   from   int   help   總結   

PostgreSQL中的暫存資料表分兩種,一種是會話級暫存資料表,一種是事務級暫存資料表。在會話級暫存資料表中,資料可以存在於整個會話的生命週期中,在事務級暫存資料表中的資料只能存在於事務的生命週期中。
1. 會話級暫存資料表

##建立會話級暫存資料表,PG中預設建立的就是會話級的。test=# create TEMPORARY table tmp1 (id int primary key,note text);CREATE TABLE##查看錶屬性,schema為“pg_temp_x”,其中“x”代表一個數字,不同的sessionzhegetest=# \d          List of relations  Schema | Name | Type | Owner -----------+------+-------+---------- pg_temp_3 | tmp1 | table | postgres(1 row)##退出會話test=# \q##重新登入工作階段[[email protected] bin]$ psql test;psql (8.4.18, server 9.6.3)WARNING: psql version 8.4, server version 9.6.         Some psql features might not work.Type "help" for help.##再次查看,暫存資料表已經消失test=# \dNo relations found.

2. 事務級暫存資料表
在建立事務級暫存資料表語句中需要加上"on commit delete rows"子句。

##建立事務級暫存資料表test=# create TEMPORARY table tmp2 (id int primary key,note text) on commit delete rows;CREATE TABLE##開始一個事務test=# begin;BEGIN##插入測試資料test=# insert into tmp2 values (1,‘Tom‘);INSERT 0 1test=# insert into tmp2 values (2,‘Peter‘);INSERT 0 1##查看錶中資料test=# select * from tmp2; id | note ----+-------  1 | Tom  2 | Peter(2 rows)##結束事務test=# end;COMMIT##再次查看,表中資料已經消失,因為事務級暫存資料表中資料只存在於事務的生命週期中test=# select * from tmp2; id | note ----+------(0 rows)

總結:
1. 不管是會話級還是事務級的暫存資料表,當會話結束後,暫存資料表會消失,這和Oracle資料庫不同。Oracle資料庫當會話結束後,資料消失,而表依然存在。
2. "ON COMMIT" 子句有三種形式,預設使用的是PRESERVE ROWS:
(1)ON COMMIT PRESERVE ROWS 表示暫存資料表的資料在事務結束後保留;
(2)ON COMMIT DELETE ROWS 表示暫存資料表的資料在事務結束後truncate掉;
(3)ON COMMIT DROP 表示暫存資料表在事務結束後刪除。

 

The End!

2017-08-15

【PostgreSQL】暫存資料表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.