Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2bRp-000R0I-0C for pgsql-general@arkaria.postgresql.org; Tue, 17 Mar 2026 20:55:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2bRn-0056X4-2e for pgsql-general@arkaria.postgresql.org; Tue, 17 Mar 2026 20:55:27 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2bRn-0056Wv-1B for pgsql-general@lists.postgresql.org; Tue, 17 Mar 2026 20:55:27 +0000 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2bRk-00000000FVw-0YqZ for pgsql-general@postgresql.org; Tue, 17 Mar 2026 20:55:26 +0000 Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-5a12c310e8aso6526698e87.3 for ; Tue, 17 Mar 2026 13:55:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773780922; cv=none; d=google.com; s=arc-20240605; b=Ud9Um9xyrWwYRYtLeCVA9SDTnHp0ZyXdX1XI1sdlEYJqyCaje9stk7hPgZLM/R9GcX WIbcszCcjI5Dhga9GiGi8ZYoCTypgRT3wxg4M1L6Ee9u1nNE89dLPmBSYChedIg9II+5 dj9uAW5yH0brRe3ukQoL891VZuI2d49f1Gi246eRD0/CvG+xDbo6pgOgz6fcgPEwguoU Xr1lBDL73GzUbQFetpXIYI+bVbc3ehqk18IVzQ4+uJBmtQlMkPvMiS8v/y5mn5VJsw0A SCA+9io2Mf8TKk6QY+vGRw0Abll6Z5Ayf6HIqFD/PtUVYxI7r56k2iPt5uQTc8ROnoRk EM9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=xBY1lQE3MsZ+CgcV460RgV/dn1g4aoV+0QtZbSk7DlA=; fh=cQaUnmuwjuR9OsxDL7SxCVBwEjDYlbKL9Ym3U6WPyC4=; b=csOMm+Tzi/5gv/ffpL04ORBHxV0+O31WAZNuo+yJCNekkLzVDRY5SZjxdzGt2csMw/ 4V4CIjVUJbxPNafC14A20HgpF7Xzcd9NtVKIi6E2o3tuR00rMI6Dhi1Nyj7DuyTJ2fJs Dx6cNhHWgW/Nd+TWeXDngKckdNFrrdzEWu1YvoMBfbak+1ch8SegL+oqt+uT7QIDGQID qRW2Q0Hbat+EztoPZEWbBjNYSpyegUq2jjj26sMe6QhD1bv1Yz8DYlAtuXT4c4nUjRSK YfslalG/SxFDAVBzDqnPWnBA60NudgGlVcAgrBFadCHo0t6dLYzF8oR0G9NX8dmL/VHO /98A==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=f10-com-br.20230601.gappssmtp.com; s=20230601; t=1773780922; x=1774385722; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xBY1lQE3MsZ+CgcV460RgV/dn1g4aoV+0QtZbSk7DlA=; b=RttEPagakyXYenc3M7teNJeqwWYuJKRS/9yl01dWgI5tnzvth1hCw04o/W6O/91FUa LpaGLyh2r/0Vyk1n0XtrlJ7KgbMgQN20CqIYGRENp/+2rQ9LO9DVV6Y+tOPU7Pve2Sre gtFtsBso+jBjaa4uggvnBy5cptqoMyTj32i5iPXLtQG1dieEKX5+IO26ysQTPwAzcmLQ kykdRZVgNcwuKEpgKXwo/TjpTHlbOMwN4FVarZlOxYBPa1QCSZEVqqgB/5LnM4cxWeit C4kwHuDz2UEfIKZQ47rTFw9K9tVEudNvCjs2vGIdLIKhU/pzYMSt2tfA9yX3O9duCUIU Qyew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773780922; x=1774385722; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xBY1lQE3MsZ+CgcV460RgV/dn1g4aoV+0QtZbSk7DlA=; b=DUs6mWY+i5MtsH6P9d82DGlhIt5XCGyUr9oZxGCPkPt6sndo7GXMl4GngqjyoDPIJP sbZrQ3cOgDxPahaJ0y9E1l41sWAFwhRufH59OikXv6JePKtSh8b7r28ofveHNx8+Hko7 pW1whCZJ6DS6VDXZArWV/CLZWGjNl6p+5sgHlq1amwP18dyaWu8LFZWNo+ycqws3rBLd 220mWImUkY7w64x8fFOr8UQJo+Y8gq9BJ2lUHTuY07Rf52jSf8/KfrycTRXvbVSMM8H3 sVbahPT6DqE0tf0VzPSi0A5BuDsScl1td2qjuvFn9dcCQZ3opcnkzSJ2ec71uya45/vJ dLMQ== X-Gm-Message-State: AOJu0YyGjTGT3e27cwOEtMw40fXm32VFGgx/9iZ7kwBTtqJLvcyAMwBd ZCTyaqjo+VtQ6K4Z/lJKaz15VN+bebqrmV/zDgyIY2/XFjfKZS+sRFXTeJczTSyFqo4TLGs3ndd 1W4TZO4WEPeqnbIy9hle/7MBxIg+gqRCXePrAD+Az X-Gm-Gg: ATEYQzzYHYYzrmYXur8YIjuYhMQmp2FIa8OIJDrY/ElFZluF2lEtTfCJ7Aqi+mhWjNv bg1ARfd6lBbT8j2ynAKOMwlnGqlvrL3uN14pbdjeavUZ2ZNUTuzGHStjrGG4RElaMu3VCZUOW9g NzflWTwubOLiEmNMX8f+Tz4LSwcpa7tICZNArS6gKWROKEJWLJD4Z48ieYLtb1aYqqonWk1lrD9 4DIK8t/4chp0z79rlk/Z4KEuQf70g3PI1xeWA4JwimiHk59rwKDizeD+YUHbS3LMGXnensO32cA a+b4lIogWA== X-Received: by 2002:a05:6512:3b2a:b0:5a1:2ea2:3683 with SMTP id 2adb3069b0e04-5a2796c4c59mr379980e87.44.1773780922028; Tue, 17 Mar 2026 13:55:22 -0700 (PDT) MIME-Version: 1.0 References: <114fe468-204a-43a9-8edc-26ffd6d598a4@aklaver.com> <5179b412-2eaa-4c96-89f3-53c2fb10dd31@aklaver.com> In-Reply-To: <5179b412-2eaa-4c96-89f3-53c2fb10dd31@aklaver.com> From: Marcos Pegoraro Date: Tue, 17 Mar 2026 17:54:45 -0300 X-Gm-Features: AaiRm52xqnAcWESomLIVPy49z62nyVdgFqwBztGLCHC6BGgVaGVhDiL_lJ-IkN0 Message-ID: Subject: Re: Trying to understand pg_get_expr() To: Adrian Klaver Cc: pgsql-general Content-Type: multipart/alternative; boundary="000000000000c465f7064d3e8d6a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c465f7064d3e8d6a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Em ter., 17 de mar. de 2026 =C3=A0s 17:36, Adrian Klaver < adrian.klaver@aklaver.com> escreveu: > Why is the second case not?: > I don't know, but you can see that it's not only for integers CREATE TABLE default_test ( id integer, fld_1 varchar DEFAULT 'test', fld_2 integer DEFAULT 0, fld_3 date DEFAULT Current_Date, fld_4 timestamp DEFAULT Current_Timestamp, fld_5 text DEFAULT 'x', fld_6 boolean DEFAULT 'on', fld_7 int4range DEFAULT '[1,2)', fld_8 char DEFAULT '1' ); SELECT atttypid::regtype, pg_get_expr(adbin, adrelid) FROM pg_class c inner join pg_attribute a on c.oid =3D attrelid inner join pg_attrdef d on c.oid =3D d.adrelid and adnum =3D attnum WHERE relname =3D 'default_test' and attnum > 0; regards Marcs --000000000000c465f7064d3e8d6a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Em ter., 17 de mar. de 2026 =C3=A0s = 17:36, Adrian Klaver <adria= n.klaver@aklaver.com> escreveu:
Why is the second case not?:
I don&= #39;t know, but you can see that it's not only for integers=C2= =A0

CREATE TABLE defa= ult_test (
=C2=A0 =C2=A0 =C2=A0id integer,
=C2=A0 =C2=A0 =C2=A0fld_1 varchar DEFAU= LT 'test',
=C2=A0 =C2=A0 =C2=A0fld_2 integer DEFAULT 0,
=C2= =A0 =C2=A0 =C2=A0fld_3 date DEFAULT Current_Date,
=C2=A0 =C2=A0 =C2=A0fl= d_4 timestamp DEFAULT Current_Timestamp,
=C2=A0 =C2=A0 =C2=A0fld_5 text = DEFAULT 'x',
=C2=A0 =C2=A0 =C2=A0fld_6 boolean DEFAULT 'on&#= 39;,
=C2=A0 =C2=A0 =C2=A0fld_7 int4range DEFAULT '[1,2)',
=C2= =A0 =C2=A0 =C2=A0fld_8 char DEFAULT '1'
);

SELECT
=C2= =A0 =C2=A0 =C2=A0atttypid::regtype,
=C2=A0 =C2=A0 =C2=A0pg_get_expr(adbi= n, adrelid)
FROM pg_class c inner join
=C2=A0 =C2=A0 =C2=A0pg_attribu= te a on c.oid =3D attrelid
=C2=A0 inner join pg_attrdef d on c.oid =3D d= .adrelid and adnum =3D attnum
WHERE
=C2=A0 =C2=A0 =C2=A0relname =3D &= #39;default_test' and attnum > 0;

regards
Marcs
--000000000000c465f7064d3e8d6a--