Add log_verbosity = 'silent' support to COPY command.
authorFujii Masao <[email protected]>
Thu, 3 Oct 2024 06:55:37 +0000 (15:55 +0900)
committerFujii Masao <[email protected]>
Thu, 3 Oct 2024 06:55:37 +0000 (15:55 +0900)
commite7834a1a251d4a28245377f383ff20a657ba8262
tree6453045799f02f753a0b5b56520296f6f9d4473d
parentbabb3993dbe9c805c1d29fa275a5e8f4c2b40922
Add log_verbosity = 'silent' support to COPY command.

Previously, when the on_error option was set to ignore, the COPY command
would always log NOTICE messages for input rows discarded due to
data type incompatibility. Users had no way to suppress these messages.

This commit introduces a new log_verbosity setting, 'silent',
which prevents the COPY command from emitting NOTICE messages
when on_error = 'ignore' is used, even if rows are discarded.
This feature is particularly useful when processing malformed files
frequently, where a flood of NOTICE messages can be undesirable.

For example, when frequently loading malformed files via the COPY command
or querying foreign tables using file_fdw (with an upcoming patch to
add on_error support for file_fdw), users may prefer to suppress
these messages to reduce log noise and improve clarity.

Author: Atsushi Torikoshi
Reviewed-by: Masahiko Sawada, Fujii Masao
Discussion: https://postgr.es/m/ab59dad10490ea3734cf022b16c24cfd@oss.nttdata.com
doc/src/sgml/ref/copy.sgml
src/backend/commands/copy.c
src/backend/commands/copyfrom.c
src/bin/psql/tab-complete.c
src/include/commands/copy.h
src/test/regress/expected/copy2.out
src/test/regress/sql/copy2.sql