ERROR: improper qualified name (too many dotted names) when trying ALTER FUNCTION Working with Amazon Aurora Postgres Version 2.0, which is basically  PostgreSQL 10.4 with a modified storage layer.

Trying to restore a dump that contains multiple lines like:

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


I get an error message for every ALTER FUNCTION like that:


ERROR:  improper qualified name (too many dotted names)



Trying the same in psql produces the same error. Even with the simplest form:

ALTER FUNCTION foo() OWNER TO myrole;


There are no dotted names. I found similar complaints here:
https://forums.aws.amazon.com/thread.jspa?messageID=872096&amp;tstart=0

Must be a bug in Aurora - or am I missing something?
Response from AWS Support:

On further researching, I was able to find that this was a known issue in Aurora Version 2.0 (compatible with 10.4) and the issue has been fixed on Aurora Version 2.1 ( compatible with PostgreSQL 10.5). I tried testing on my Aurora PostgreSQL 10.5 test cluster to confirm if the issue has been fixed and I was able to successfully execute the statement without any error message.

tl;dr Bug in Aurora 2.0 (PostgreSQL 10.4), fixed in Aurora 2.1 (PostgreSQL 10.5).

EDIT: Along with JohnC, I saw this error arise again in Aurora 3.0.0 (PostgreSQL 11.4). Support response Jan 11, 2020:

Upon further researching, I can confirm that this issue is also affecting Aurora PostgreSQL 11.4 engine version. After a thorough internal research around this error, I was able to find out that the Aurora PostgreSQL team is aware of this specific issue with 11.4 version as well and please be assured that we are already working on a fix for this that should be available in a later release.
Having said that, at the moment, I do not have an exact ETA for when this issue will be resolved for Aurora PostgreSQL 11.4.
Since the error is seen for ALTER FUNCTION command, the suggested workaround by the internal team is to recreate the function with the intended owner.