Trying to understand pg_get_expr()
| От | Adrian Klaver |
|---|---|
| Тема | Trying to understand pg_get_expr() |
| Дата | |
| Msg-id | ddb9b483-d1fc-4380-84ce-fff20e35893e@aklaver.com обсуждение исходный текст |
| Ответы |
Re: Trying to understand pg_get_expr()
|
| Список | 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.klaver@aklaver.com
В списке pgsql-general по дате отправления: