web-dev-qa-db-ja.com

エラー:ALTER FUNCTIONを試行すると、不適切な修飾名(ドット名が多すぎる)

Amazon Aurora Postgresバージョン2. での作業。これは、基本的に変更されたストレージレイヤーを備えたPostgreSQL 10.4です。

次のような複数の行を含むダンプを復元しようとしています:

ALTER FUNCTION myschema.f_myfunc(anyarray, anyelement) OWNER TO myrole;

すべてのエラーメッセージが表示されますALTER FUNCTIONのように:

ERROR:  improper qualified name (too many dotted names)

Psqlで同じことを試みると、同じエラーが発生します。最も単純な形式でも:

ALTER FUNCTION foo() OWNER TO myrole;

ドット表記の名前はありません。私はここで同様の苦情を見つけました: https://forums.aws.Amazon.com/thread.jspa?messageID=872096&tstart=

Auroraのバグである必要があります-または何か不足していますか?

6

AWSサポートからの応答:

さらに調査したところ、これはAuroraバージョン2.0(10.4と互換)の既知の問題であり、Auroraバージョン2.1(PostgreSQL 10.5と互換)で修正されていることがわかりました。 Aurora PostgreSQL 10.5テストクラスターでテストを実行して、問題が修正され、エラーメッセージなしでステートメントを正常に実行できるかどうかを確認しました。

tl; dr Aurora 2.0(PostgreSQL 10.4)のバグ、Aurora 2.1(PostgreSQL 10.5)で修正。


編集:JohnCと一緒に、私はこのエラーが発生するのを見ました再び Aurora 3.0.0(PostgreSQL 11.4)。 2020年1月11日のサポート応答:

さらに調査したところ、この問題がAurora PostgreSQL 11.4エンジンのバージョンにも影響していることが確認できました。このエラーに関する徹底的な内部調査の結果、Aurora PostgreSQLチームは11.4バージョンのこの特定の問題も認識しており、この問題の修正に取り組んでいることを確認できました。後のリリース。

そうは言っても、現時点では、Aurora PostgreSQL 11.4でこの問題が解決される正確なETAはありません。

エラーはALTER FUNCTIONコマンドで見られるため、内部チームが推奨する回避策は、目的の所有者で関数を再作成することです。

3
Paul Draper