カテゴリー
コンピューター

k1LoW/tbls 。 PostgreSQL の public スキーマではないテーブルで `detectVirtualRelations` を使いたい時は、 `dsn` 設定でそのスキーマを指定すると期待通りに動作する

k1LoW/tbls についてまとめ

  • PostgreSQL における detectVirtualRelations の話。
  • 任意のデータベースの public スキーマでは期待通りに機能する。
  • 任意のデータベースの public 以外のスキーマでは
    • 期待通りに機能しない。設定していない状態時と同様の結果となる。
    • dns 設定にて、 options=--search_path%3Dshcema_name などと指定すると期待通りに機能する。

設定まとめ

これでうまくいった。

cat > .tbls.yml <<EOF
dsn: pg://postgres:password@localhost:5432/db2?sslmode=disable&options=--search_path%3Duser2
detectVirtualRelations:
  enabled: true
  strategy: default
EOF

tbls doc --rm-dist

おわりに

今回 detectVirtualRelations を機能させるためにワークアラウンドが必要でしたので随分と回り道してしまいました。

なんとか解決まで至れたのでよかったです。

以上です。

コメントを残す