Sergey, Nikita, Alexander, if you can please see this thread and propose a solution, that'd be very welcome.
On 2020-Jun-06, Tom Lane wrote: > Peter Eisentraut <peter.eisentr...@2ndquadrant.com> writes: > > I'm also wondering whether this is fully correct. Would it be possible for > > the > > argument types of the operator/function to differ from the left arg/right > > arg > > types? (Perhaps binary compatible?) > > pg_amop.h specifies that > > * The primary key for this table is <amopfamily, amoplefttype, amoprighttype, > * amopstrategy>. amoplefttype and amoprighttype are just copies of the > * operator's oprleft/oprright, ie its declared input data types. > > Perhaps it'd be a good idea for opr_sanity.sql to verify that, since > it'd be an easy thing to mess up in handmade pg_amop entries. But > at least for the foreseeable future, there's no reason for \dAo to show > amoplefttype/amoprighttype separately. > > I agree that \dAo ought to be showing amopstrategy; moreover that ought > to be much higher in the sort key than it is. Also, if we're not going > to show amoppurpose, then the view probably ought to hide non-search > operators altogether. It is REALLY misleading to not distinguish search > and ordering operators. > > The situation is different for pg_amproc: if you look for discrepancies > you will find plenty, since in many cases a support function's signature > has little to do with what types it is registered under. Perhaps it'd be > worthwhile for \dAp to show the functions as regprocedure in addition to > showing amproclefttype/amprocrighttype explicitly. In any case, I think > it's rather misleading for \dAp to label amproclefttype/amprocrighttype as > "Left arg type" and "Right arg type", because for almost everything except > btree/hash, that's not what the support function's arguments actually are. > Perhaps names along the lines of "Registered left type" and "Registered > right type" would put readers in a better frame of mind to understand > the entries. > > regards, tom lane > > -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services