同じ問題が発生し、AWSに連絡しました。AWSは、それがクエリエディターツールの問題であることを確認しました。問題がいつ修正されるかについてのETAはありません。
解決策1:psqlを使用する
良いニュースは、これがpsql
で機能することです。 。これは返信メールの抜粋です:
$ psql -h database-2.cluster-xx.us-west-2.rds.amazonaws.com -d postgres -U postgres
postgres=> CREATE OR REPLACE FUNCTION trigger_set_updated_at() RETURNS TRIGGER AS $$
postgres$> BEGIN NEW.updated_at = NOW();
postgres$> RETURN NEW;END;$$
postgres-> LANGUAGE plpgsql;
CREATE FUNCTION
設定方法に関するドキュメント: https://docs.aws .amazon.com / AmazonRDS / latest / UserGuide / USER_ConnectToPostgreSQLInstance.html
解決策2:データAPIを使用する
すでに
関数定義をfunction.sql
に入れることができます ファイル:
CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$
BEGIN
RETURN i + 1;
END;
$$ LANGUAGE plpgsql;
次に、次のコマンドを使用してデータベースで実行します。
cat function.sql | xargs -0 aws rds-data execute-statement \
--resource-arn arn:aws:rds:eu-west-1:xxx:cluster:cluster-name \
--secret-arn arn:aws:secretsmanager:eu-west-1:xxx:secret:secret-name-xxx \
--database "database_name" \
--sql
うまくいけば、これがお役に立てば幸いです!