I\'m working with the PostgreSQL C API, libpq. I need to be able to convert the values in a PGresult* into their equivalent data types in Ruby. I\'m currently j
To get the type name from an OID, just cast it to regtype:
SELECT 700::oid::regtype -- real
To get the type of any columns (or variable in plpgsql), use pg_typeof():
SELECT pg_typeof(1::real) -- real
Gives you an answer of type regtype which is displayed as text in psql or pgAdmin. You can cast it to text explicitly if needed:
SELECT pg_typeof(1::real)::text -- real
There is also this "big list", vulgo catalog table pg_type, where types are registered. This can be big, have a peek:
SELECT * from pg_type LIMIT 10;
More info in the excellent manual.