2007-05-07

DISCARD命令(简体)

更新:2007-05-07
對映章節:
http://postgresql.at.webry.info/200705/article_1.html

內容:
翻译自石井达夫先生的blog,连接见上。

正在开发中的PostgreSQL 8.3追加新命令DISCARD,用来清除连接中session的固有数据,包括以下各项:
1、SESSION AUTHORIZATION(切换到其他用户);
2、SET命令设定的选项;
3、PREPARE生成的plan;
4、打开的cursor;
5、LISTEN生成的对象;
6、plan cache;
7、临时数据表。

3是指到8.2为止没有未命名的plan无法被删除,现在可以一起删除掉。(原文如此,我并没有完全理解,因为PREPARE命令从文档看是必须为plan命名的。也许这里是说的是执行SQL语句时自动生成的plan,哪位仁兄知道请来信指正。)
6是指以session为单位将查询plan放在cache中的功能,这是在8.3中新增的。

DISCARD最有用的可能不是通常的数据库application,而是像pgpool这一类的中间件(middleware)。到目前为止,要特意截获(intercept)PREPARE命令,在自己的session中记录持有的plan,然后在session结束的时候将它们删除,而DISCARD命令的出现可以将这个处理省略。

特别注意的是,DISCARD命令不能在事务块中使用。

沒有留言:

PostgreSQL & Google-Analytics Running...

::Planet PostgreSQL::

PostgreSQL Information Page

PostgreSQL日記(日本 石井達夫先生Blog)

PostgreSQL News

黑喵的家 - 資料庫相關

Google 網上論壇
PostgreSQL 8 DBA 專業指南中文版
書籍內容討論與更多下載區(造訪此群組)
目錄下載: PostgreSQL_8 _DBA_Index_zh_TW.pdf (更新:2007-05-18)

全球訪客分佈圖(Google)

全球訪客分佈圖(Google)