BUG #16055: pgAdmin 4 - ERROR: operator does not exist: - oid

Started by PG Bug reporting formover 6 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 16055
Logged by: Павел
Email address: holdenru@gmail.com
PostgreSQL version: 9.5.4
Operating system: freebsd
Description:

http://joxi.net/V2VBGbDfdvLnO2

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.

PostgreSQL 9.5.4 on amd64-portbld-freebsd10.3, compiled by FreeBSD clang
version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512, 64-bit

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #16055: pgAdmin 4 - ERROR: operator does not exist: - oid

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