0
我有許多DB:A,B,C等。 對於每個DB,我創建了只讀訪問角色:A-ro,B-ro,C-ro。Postgresql:在角色名稱中使用變量
每次我連接,I型:
SET ROLE 'A-ro';
有些DB的名稱可能會很長,這錄音是每次不是涼;所以,我想在我的.psqlrc創建別名,以鍵入類似:
psql> :ro
我試過兩件事情:current_database()和:DBNAME。 問題:看起來我不能寫這樣的: SET ROLE(SELECT current_database()||'-ro');
而且我可以不寫,要麼:
SET ROLE ':DBNAME-ro';
或
SET ROLE :DBNAME || '-ro';
我正在尋找正確的語法。
你可以使用['EXECUTE'](http://www.postgresql.org/docs/ 9.1 /靜態/ PLPGSQL-statements.html#PLPGSQL語句執行的-DYN)。缺點是你必須將其封裝到plpgsql函數中。 – ckruse