| From: | Thom Brown <thom(at)linux(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-bugs <pgsql-bugs(at)postgresql(dot)org> | 
| Subject: | Re: Can't read oprcode from remote pg_operator | 
| Date: | 2017-09-05 12:25:35 | 
| Message-ID: | CAA-aLv6k_KRBuV810y2Yd=k5fYSQkZKob-s40LOQ+NE-a6g+DA@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
On 5 September 2017 at 12:57, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Thom Brown <thom(at)linux(dot)com> writes:
>> It seems that, if you have a foreign table pointing to pg_operator in
>> another cluster, you cannot return the oprcode column for certain
>> rows.  I'm getting this on 10 beta 3.
>
> I don't think that has anything to do with remoteness or not, nor which
> PG version you try.  The regproc representation is inherently ambiguous,
> so even locally you will get:
>
> regression=# select oprcode::text::regproc from pg_operator;
> ERROR:  more than one function named "pg_catalog.tsquery_phrase"
>
> Likewise for, eg, pg_aggregate.aggfnoid.
I guess it was only revealed by my accessing the table remotely.  A
plain select locally works, but a plain select remotely, doesn't.
>> I have imported pg_operator using IMPORT FOREIGN SCHEMA,
>
> If that seemed like a widely useful thing to do, I might be more
> worried.  But if you want to do this, I'd suggest making a view
> over pg_operator that casts the regproc columns to regprocedure,
> and then importing that.  Even then, it will fail if the remote
> catalog contains references to any functions that don't exist
> locally.
Yeah, I think I'll make a view in my case. Thanks.
> We've talked in the past about deprecating regproc/regoper and
> converting those columns to the fully qualified types; that
> would help the ambiguity part of your issue, though not the
> nonexistence part.  But that's blocked on teaching genbki.pl
> to do the equivalent of regprocedurein and fill those columns
> with numeric OIDs in the BKI file.
Thom
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2017-09-05 12:44:39 | Re: Old row version in hot chain become visible after a freeze | 
| Previous Message | dmitriy.davydov | 2017-09-05 12:01:06 | BUG #14797: It's not safe to use MD5 |