> On Feb 22, 2020, at 13:33, stan <stanb@xxxxxxxxx> wrote: > I suppose you are suggesting that the function try the original SELECT, and > if it returns a NULL then retun the default AND do the raise NOTICE? Something like this: create function supply_default() returns int as $$ begin raise notice 'Supplied default'; return 1; end; $$ immutable language plpgsql; xof=# create table t ( i integer default supply_default(), t text ); CREATE TABLE xof=# insert into t(i, t) values (2, 'text'); INSERT 0 1 xof=# insert into t(t) values ('text'); NOTICE: Supplied default INSERT 0 1 -- -- Christophe Pettus xof@xxxxxxxxxxxx