DEALLOCATEを使うとことにより、PREPAREで定義したクエリーを削除することができます。
以下に使用例を記します。
-bash-4.1$ psql sakura psql (8.4.13) "help" でヘルプを表示します.
sakura=# prepare show_now as select now(); PREPARE
sakura=# execute show_now; now ------------------------------- 2013-01-23 23:26:57.612195+09 (1 行)
sakura=# prepare show_now as select current_timestamp; ERROR: 準備された文"show_now"はすでに存在します sakura=#
すでに登録されているクエリー名を使用した場合は、ERRORとなります。
登録されているクエリー定義を削除する構文は以下の通りです。
DEALLOCATE クエリー名
実際に操作して実行した結果は以下の通りです。
sakura=# prepare show_now as select now(); PREPARE
sakura=# prepare show_now as select current_timestamp; ERROR: 準備された文"show_now"はすでに存在します
sakura=# deallocate show_now; DEALLOCATE
sakura=# prepare show_now as select current_timestamp; PREPARE
sakura=# execute show_now; now ------------------------------- 2013-01-23 23:32:44.238205+09 (1 行)