web-dev-qa-db-ja.com

ユーザーのデフォルトスキーマを変更

create schema bla;

-- then create table table_name into this schema

次に、ユーザーのデフォルトのスキーマを変更します(ユーザーはpostgres

私がやります: ALTER ROLE postgres SET search_path TO bla;(クエリは結果なしで正常に返されました)。

SELECT * FROM table_nameはエラーrelation "table_name" does not exist

SELECT * FROM bla.table_name 正常に動作します。

ユーザーのデフォルトスキーマを変更しようとすると何が問題になりますか?

11
Oto Shavadze

そのために再ログインする必要があると思います。 ALTER USER ... SET変更する

ランタイム構成変数のセッションのデフォルト

また、ALTER ROLE SET手動

ロール固有の変数設定は、ログイン時にのみ有効です。

ただし、現在のセッションに変更を適用しないでください。すぐに変更したい場合:

SET search_path TO bla;

セッションレベルでパスを変更します

12
Vao Tsun