The following bug has been logged online:
Bug reference: 3652
Logged by: Robert Kleemann
Email address: kleemann@scharp.org
PostgreSQL version: 8.2.4
Operating system: linux, solaris 10
Description: quiet / VERBOSITY=terse does not silence PKEY NOTICE
message
Details:
Even if quiet and verbosity terse is set, creating a table with a primary
key will generate a NOTICE message that reports an index is being created.
dfmt_kleemann1=> \set VERBOSITY terse
dfmt_kleemann1=> \set quiet on
dfmt_kleemann1=> CREATE TABLE table1 (column1 INT, PRIMARY KEY(column1));
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "table1_pkey"
for table "table1"
CREATE TABLE
dfmt_kleemann1=>
I believe that the index is created via a call to
talblecmds.c:ATExecAddIndex()
The line:
/* suppress notices when rebuilding existing index */
quiet = is_rebuild;
Indicates that the message is only suppressed when an index is being
rebuilt. I think it should also be suppressed when the quiet option or
VERBOSITY terse is specified.
The usage case that makes this a problem is that I am using psql to operate
on a large sql file that creates many tables. The non-suppresable NOTICE
message is printed many times and makes it difficult to see actual error
messages when they show up.