| From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
|---|---|
| To: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
| Subject: | Trying to understand pg_get_expr() |
| Date: | 2026-03-17 19:31:43 |
| Message-ID: | ddb9b483-d1fc-4380-84ce-fff20e35893e@aklaver.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Given:
select version();
version
-----------------------------------------------
PostgreSQL 17.9 (Ubuntu 17.9-1.pgdg24.04+1)
and:
CREATE TABLE default_test (
id integer,
fld_1 varchar DEFAULT 'test',
fld_2 integer DEFAULT 0
);
Then:
SELECT
adrelid::regclass,
pg_typeof(pg_get_expr(adbin, adrelid)),
pg_get_expr(adbin, adrelid)
FROM
pg_attrdef
WHERE
adrelid = 'default_test'::regclass;
adrelid | pg_typeof | pg_get_expr
--------------+-----------+---------------------------
default_test | text | 'test'::character varying
default_test | text | 0
and:
SELECT
adrelid::regclass,
pg_typeof(pg_get_expr(adbin, adrelid)),
pg_get_expr(adbin, adrelid)
FROM
pg_attrdef
WHERE
adrelid = 'default_test'::regclass
AND pg_get_expr(adbin, adrelid) = '0';
adrelid | pg_typeof | pg_get_expr
--------------+-----------+-------------
default_test | text | 0
SELECT
adrelid::regclass,
pg_typeof(pg_get_expr(adbin, adrelid)),
pg_get_expr(adbin, adrelid)
FROM
pg_attrdef
WHERE
adrelid = 'default_test'::regclass
AND pg_get_expr(adbin, adrelid) = 'test';
adrelid | pg_typeof | pg_get_expr
---------+-----------+-------------
(0 rows)
Why does the = 'test' not return anything?
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2026-03-17 19:49:39 | Re: Emitting JSON to file using COPY TO |
| Previous Message | Masahiko Sawada | 2026-03-17 17:50:35 | Re: Emitting JSON to file using COPY TO |