Can psql show the column type of a result ?
Hello,
I'm wondering if there's a way to show the column type of a result with
psql, e.g.
select sum(r) from mytable;
r
-------
101.0
I'd like to see the type of the 'r' column.
On Wed, Sep 22, 2010 at 12:52 PM, "Nils O. Selåsdal"
<noselasd@asgaard.homelinux.org> wrote:
Hello,
I'm wondering if there's a way to show the column type of a result with
psql, e.g.select sum(r) from mytable;
r
-------
101.0I'd like to see the type of the 'r' column.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
From psql you can use:
\d mytable
sql to show this might look like:
SELECT a.attname,
pg_catalog.format_type(a.atttypid, a.atttypmod),
(SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)
FROM pg_catalog.pg_attrdef d
WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef),
a.attnotnull, a.attnum
FROM pg_catalog.pg_attribute AS a
INNER JOIN pg_catalog.pg_class c
ON C.oid = a.attrelid
WHERE c.relname ~ '^(mytable)$' AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum;
--
Regards,
Richard Broersma Jr.
Visit the Los Angeles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug
On 22.09.2010 23:26, Richard Broersma wrote:
On Wed, Sep 22, 2010 at 12:52 PM, "Nils O. Sel�sdal"
<noselasd@asgaard.homelinux.org> wrote:Hello,
I'm wondering if there's a way to show the column type of a result with
psql, e.g.select sum(r) from mytable;
r
-------
101.0I'd like to see the type of the 'r' column.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-generalFrom psql you can use:
\d mytable
sql to show this might look like:
SELECT a.attname,
pg_catalog.format_type(a.atttypid, a.atttypmod),
(SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)
FROM pg_catalog.pg_attrdef d
WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef),
a.attnotnull, a.attnum
FROM pg_catalog.pg_attribute AS a
INNER JOIN pg_catalog.pg_class c
ON C.oid = a.attrelid
WHERE c.relname ~ '^(mytable)$' AND a.attnum> 0 AND NOT a.attisdropped
ORDER BY a.attnum;
This is ok for showing tables, but insufficient for showing the type of
a result set, which might
differ from the table being queried ,depending on what
operators/constants/functions a query uses to pull out data
- which was my current problem.
=?UTF-8?B?Ik5pbHMgTy4gU2Vsw6VzZGFsIg==?= <noselasd@asgaard.homelinux.org> writes:
I'm wondering if there's a way to show the column type of a result with
psql, e.g.
select sum(r) from mytable;
r
-------
101.0
I'd like to see the type of the 'r' column.
There's nothing built-in to psql, but you could modify the query, eg
select pg_typeof(sum(r)) from mytable;
(Adding "LIMIT 1" would be wise in most cases, though you don't need it
here.)
regards, tom lane