PG Bug reporting form <noreply@postgresql.org> writes:
> It works OK with pgAdmin 3.
> ERROR: operator does not exist: - oid
> LINE 4: WHERE attrelid=-2016150721::oid
> ^
> HINT: No operator matches the given name and argument type(s). You might
> need to add explicit type casts.
This is a bug in whatever generated that query (if it was pgAdmin 4,
you should complain on the pgadmin lists). Probably, it printed an
OID value as a signed integer when it should have printed it as an
unsigned integer. That's an easy mistake that doesn't show up
until your database gets past 2^31 OIDs consumed :-(.
The server error message is correct as far as it goes: there's no minus
operator for the OID type. Since OID is unsigned, it wouldn't make
a lot of sense to have one.
regards, tom lane