On Tue, Jul 25, 2017 at 1:13 PM, Andres Freund <andres@anarazel.de> wrote:
> On 2017-07-25 13:10:11 -0400, Robert Haas wrote:
>> On Tue, Jul 25, 2017 at 1:06 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> >> Is this assumption, like, documented someplace?
>> >
>> > Uh, right there?
>>
>> I don't think we can expect end-users to read the code comments to
>> determine whether their apparently-legal SQL is fully supported.
>
> I don't think plain end-users are going to create differently named PLs
> using builtin handlers. There's plenty special casing of system object
> in pg_dump and elsewhere. Dependency tracking doesn't quite work right
> if you refer to system objects either, etc. This is superuser only
> stuff, for a reason.
But superuser != developer. Superusers aren't obliged to read the
code comments any more than any other user.
I think the only reason we don't get people whining about stuff like
this more than we do is that it's pretty obscure. But I bet if we
look through the pgsql-bugs archives we can find people complaining
about various cases where they did assorted seemingly-legal things
that turned out not to be supported by pg_dump. Whether this
particular thing has been discovered by anyone before, I dunno. But
there's certainly a whole category of bug reports along the line of
"pg_dump works mostly, except when I do X".
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company