psql を使用するときに postgres でスキーマを選択するにはどうすればいいですか? 質問する

psql を使用するときに postgres でスキーマを選択するにはどうすればいいですか? 質問する

複数のスキーマを持つ postgres データベースがあります。 シェルから でデータベースに接続してpsql実行すると、\dtデフォルトの接続スキーマであるpublicが使用されます。指定できるフラグはありますか、またはスキーマを変更するにはどうすればよいでしょうか。

ベストアンサー1

PostgreSQL では、システムは検索パス (検索するスキーマのリスト) に従って、どのテーブルを意味するかを決定します。

検索パス内の最初に一致するテーブルが目的のテーブルとして扱われます。一致するテーブルがない場合は、データベース内の他のスキーマに一致するテーブル名が存在する場合でも、エラーが発生します。

現在の検索パスを表示するには、次のコマンドを使用します。

SHOW search_path;

新しいスキーマをパスに配置するには、次のようにします。

SET search_path TO myschema;

または、複数のスキーマが必要な場合:

SET search_path TO myschema, public;

参照:https://www.postgresql.org/docs/current/static/ddl-schemas.html

おすすめ記事