まとめ
つまりこうだ
psql 'postgres://postgres:password@localhost:5432/db2?sslmode=disable&options=--search_path%3Duser2
これで db2 データベースに user2 スキーマで接続する。
実践
root@8c7dfafb8b46:/# psql 'postgres://postgres:password@localhost:5432/db2?sslmode=disable&options=--search_path%3Duser2'
psql (16.1 (Debian 16.1-1.pgdg120+1))
Type "help" for help.
db2=#
db2=#
db2=# select current_schema;
current_schema
----------------
user2
(1 row)
db2=#
参考
おわりに
以前の調査、 k1LoW/tbls 。PostgreSQL ではデータベースの public スキーマでのみ detectVirtualRelations
が発動する。ユーザ用に作成されたスキーマ (例えば CREATE SCHEMA AUTHORIZATION joe;
) のテーブルでは “detectVirtualRelations” は発動しなかった – oki2a24 、で k1LoW/tbls で detectVirtualRelations を設定しても virtual リレーションが貼られなくて、 これは public スキーマでなければ発動しないことまでわかりました。
なんとかしたくて、調べている中で、分かったことを記しているのが本投稿となります。
これが解決したいことに繋がるといいな、と思っていますけれども、どうでしょうね。
以上です。