I'm looking for a good way to avoid triggering the "will create implicit
index" NOTICE that Postgres (all versions) puts out. This ends up
spamming cron scripts for no good reason:
=> create table junk_six (foo int, primary key (foo));
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"junk_six_pkey" for table "junk_six"
CREATE TABLE
I've got a hacky solution (in perl), pulled from
http://www.perlmonks.org/index.pl/jacques?node_id=540511
which suppresses the warning:
my $tmpwarn = $SIG{__WARN__};
$SIG{__WARN__} = sub { print STDERR @_ if $_[0] !~ m/NOTICE: CREATE
TABLE/; };
$sqldb->sql_execute("create table junk_six (foo int, primary key (foo));");
$SIG{__WARN__} = $tmpwarn;
And I know that I can edit the warning level in postgresql.conf with
some other side effects.
But the best solution would be to avoid the notice in the first place.
Is this possible?
-Bryce
Keywords: postgres, warning, error, suppress, disable, avoid, hide,
stderr, stdout