2015-11-13 84 views
0

如何在代碼塊中使用show命令?Postgres在代碼塊中顯示命令

我試了幾種方法,但我得到的是

do $$ 
begin 
show enable_mergejoin; -- I need to to print this value (on/off) 
end $$ 
+0

請添加一些細節如果可能的話 – Coffee

+0

爲什麼你就不能使用'顯示enable_mergejoin'沒有PL/pgSQL的封鎖? –

+0

,因爲我需要檢查當前事務中的設置 – Baker

回答

1

show返回結果的誤差。在PL/pgSQL裏,你不能「僅僅」運行語句,語句的結果必須被存儲在一個變量:

do $$ 
declare 
    l_value text; 
begin 
    show enable_mergejoin into l_value; -- retrieve and store the value 
    raise notice '%', l_value; -- print the content 
end $$ 
; 
0

其他解決方案是使用administrative functionscurrent_settingset_setting。這些函數訪問相同的代碼SHOWSET命令:

do $$ 
begin 
    raise notice '%', current_seting('enable_mergejoin'); 
end$$