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.94.2) (envelope-from ) id 1tYOmd-00AZJh-QF for pgsql-general@arkaria.postgresql.org; Thu, 16 Jan 2025 12:15:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tYOmb-00Bm7L-CW for pgsql-general@arkaria.postgresql.org; Thu, 16 Jan 2025 12:15:33 +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.94.2) (envelope-from ) id 1tYOma-00Bm6s-UP for pgsql-general@lists.postgresql.org; Thu, 16 Jan 2025 12:15:33 +0000 Received: from mail-io1-xd33.google.com ([2607:f8b0:4864:20::d33]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tYOmZ-000i7n-29 for pgsql-general@lists.postgresql.org; Thu, 16 Jan 2025 12:15:32 +0000 Received: by mail-io1-xd33.google.com with SMTP id ca18e2360f4ac-844e12f702dso23664539f.3 for ; Thu, 16 Jan 2025 04:15:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wiwwo-com.20230601.gappssmtp.com; s=20230601; t=1737029730; x=1737634530; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=xw+zSunhiI8nMt6RaTjYJexAJ51Mpn9JGKseTvU/zSo=; b=JTILuGKLgnf4TrL0DHRrzuu+6/EHX0ScTQEB1yUrtiZb0rB7Z76bZ4caih7FSL0EID mcwcIASqnETb2uUalkhB2p1Z5fD4ubpHCkuClrq4H+9dOy+ebGbT6aOJ2ajrV0Ul9jAd nZZxKVwsAF43GkGkmrsWCsGLbmbcoEkkLWXRvtan6lMsiBPhOZXf5jdhcGeF/LM8Hd9c A8xYChaVFEk8k10tVj97L4Twjlt0edhfV12NXcTQuztUUxaARlXpwMpc+dSORT91zP0K 26VFPSY/hQ95aOJxknAhENcnxDmlGL4pLqSaW5Pxt8mCNYd+vfcY+hnlyF1mZ1TUoWjC qdww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737029730; x=1737634530; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=xw+zSunhiI8nMt6RaTjYJexAJ51Mpn9JGKseTvU/zSo=; b=pX7YIf+sdbn7bS8yqPZXKZDHImYluqLSxIy6XolxsTW0Se0InrErQsha1Ds5L36HWf K20cnMVcjPAhoaKyM3sKVBJCzInQ31lEb/NCAuMGF8aBwaPFOgCB7zHtKCiuSunlX8Uq 4rSAmkmDEXLHzbtdYfx+A1gK2JovQQyKGSrj+mY4b0ywgxX3Gv5Kp9bB62PsSSOn7pfa 311oMwH5iDzFbM++F554HPiJBOhtfynd/aZUAVEB+np5CLOo7E3omTmiJaFALHNj4DYH 7PK8V7nflUCcH+1o+IOXQzNQKZuMwNVKY7/z1D5DbGSAcSBk5+OzBOfsV9RrVv5Q29fN eTvQ== X-Gm-Message-State: AOJu0YwUka85Ps/Xt144q8WbLKsJc0u3htIrsFW8M6RB9gG2VYcE7j6R 0uGugtXQ1+J2BflhyOkQU9b9gHbxGQJLXkHXkhuljSNHgtJFwwFsmCrtnXHykkT0EskRinsjlCU /4f+sWEZx3vqYw/qwP3eswNUIlFyw1g== X-Gm-Gg: ASbGncuVbnF5pzRHaSvpjLawOwgbcamk7OJJ8YVDnlZ6J3sTGFQQnfYxIv5FHLz8h66 frP6JhzOHXqYH2xy9cFF56veuP+F0NHIFEc9KfY8CuA7KKSNhfzm2XfB/WAbZF+zodkwu7Q== X-Google-Smtp-Source: AGHT+IH6ZmkmOPhD1xKPRuWPWa+KDlm9GISSmaipKXYGal7UJljoNkoV1ONldxTvVMuKsMeMerJ5TLIQb4/BtRMPBQo= X-Received: by 2002:a05:6e02:20e9:b0:3ce:7bf1:526 with SMTP id e9e14a558f8ab-3ce7bf1056cmr81202585ab.16.1737029730328; Thu, 16 Jan 2025 04:15:30 -0800 (PST) MIME-Version: 1.0 From: Wiwwo Staff Date: Thu, 16 Jan 2025 12:14:54 +0000 X-Gm-Features: AbW1kvZr0OqbeHwAhVWgkQhWRxOqRXDJK9jvcS4JYwAdgURHUJ6Vpc1Guutanoc Message-ID: Subject: On enforcing default column value, AKA "Bloody nulls" To: pgsql-general@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000000a6ef8062bd1c059" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000a6ef8062bd1c059 Content-Type: text/plain; charset="UTF-8" Hi all! In a scenario like this: > =# create table tab1(text1 text default 'from table'); > > =# create procedure ins_tab1(p_text1 text default 'from proc') language sql as > -# $$ > $# insert into tab1(text1) values (p_text1); > $# $$; > > =# call ins_tab1 (null); > > =# select * from tab1 ; > text1 > -------- > [nUlL] Is there a way (apart from triggers) to force at least one of the default values? Thanks! --0000000000000a6ef8062bd1c059 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all!
In a scenario like= this:

> =3D# create table tab1(text1 text default = 9;from table');
> =C2=A0
> =3D# create procedure ins_tab1(p= _text1 text default 'from proc') language sql as
> -# $$
&= gt; $# insert into tab1(text1) values (p_text1);
> $# $$;
>
> =3D# call ins_tab1 (null);
>
> =3D# =C2=A0s= elect * from tab1 ;
> =C2=A0text1
> --------
> =C2=A0[nUl= L]

Is there a way (apart from triggers) to force at le= ast one of the default values?

Thanks!


--0000000000000a6ef8062bd1c059--