PostgreSQLに接続してクエリを実行したいと考えています。ただし、特定のPostgreSQLにのみ接続したいのです。スキーマ。
ドキュメントによると(ODBC ドライバ)を使用することができます
jdbc:postgresql://localhost:5432/mydatabase?searchpath=myschema
またはアップデート9.4 以降では、次のように新しい currentSchema パラメータを使用して URL を指定できます。
jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema
しかし、私はそうすることができないゴランSQL ドライバー;
ドキュメントに従って、 を使用することもできますSET search_path TO myschema,public;
が、初期化中に一度だけ宣言したいのですが、新しい接続ごとにこれを毎回実行する必要があると思います。
また、私は次のコードを使用しています。スキーマにのみ接続するために、これに渡される正しいパラメータを特定するのを手伝ってください。
db, err := sql.Open("postgres", `dbname=`+s.settings.Database+
` user=`+s.settings.Username+` password=`+s.settings.Password+
` host=`+s.settings.Url+` sslmode=disable`)
追加しcurrentSchema=myschema
てもsearchpath=myschema
機能しません。
GOで特定のデータベーススキーマにのみ接続できる方法はありますか
ベストアンサー1
search_path=myschema
追加すべきdataSourceName
PSfmt.Sprintf("host=%s port=%d dbname=%s user=%s password='%s' sslmode=disable search_path=%s", ...)
代わりに使った方が良い``+``