問題タブ [foreign-data-wrapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1497 参照

postgresql - Postgresql 9.6、データ ラッパーでリモート関数を呼び出すと、さまざまなエラーがスローされる

レコードをテーブルに挿入する関数をデータベースに作成しました。この関数は VOID を返し、VARIADIC テキスト配列を入力パラメーターとして受け取ります。データベースからローカルで関数を実行すると、期待どおりに正常に動作します。

しかし、別のデータベースから実行しようとすると、外部データ ラッパーを使用して動作せず、使用する方法に応じて異なるエラーがスローされます。

1種類の呼び出しを行う方法は次のとおりです。

それはこのエラーをスローします:

タイプ record を受け入れることができないコンテキストで呼び出されたレコードを返す関数

Select dblink を PERFORM dblink に置き換えると、次のエラーが発生します。

「PERFORM」またはその付近での構文エラー

そして、試してみると、dblink_exec を選択します。

次のエラーが表示されます。

結果を返すステートメントは許可されていません

繰り返しますが、関数はローカルで呼び出してテストしたとおりに機能し、本来の機能を果たします。

これで接続を確認したところ、OKが返されました:

これが失敗する理由と修正に関する提案は誰にもありますか?

ありがとう!