v2-0001-Make-all-Perl-warnings-fatal.patch
text/plain
Filename: v2-0001-Make-all-Perl-warnings-fatal.patch
Type: text/plain
Part: 0
Message:
Re: Make all Perl warnings fatal
Patch
Format: format-patch
Series: patch v2-0001
Subject: Make all Perl warnings fatal
| File | + | − |
|---|---|---|
| config/check_modules.pl | 1 | 1 |
| contrib/amcheck/t/001_verify_heapam.pl | 1 | 1 |
| contrib/amcheck/t/002_cic.pl | 1 | 1 |
| contrib/amcheck/t/003_cic_2pc.pl | 1 | 1 |
| contrib/auto_explain/t/001_auto_explain.pl | 1 | 1 |
| contrib/basebackup_to_shell/t/001_basic.pl | 1 | 1 |
| contrib/bloom/t/001_wal.pl | 1 | 1 |
| contrib/fuzzystrmatch/daitch_mokotoff_header.pl | 1 | 1 |
| contrib/intarray/bench/bench.pl | 1 | 1 |
| contrib/intarray/bench/create_test.pl | 1 | 1 |
| contrib/oid2name/t/001_basic.pl | 1 | 1 |
| contrib/pg_prewarm/t/001_basic.pl | 1 | 1 |
| contrib/seg/seg-validate.pl | 1 | 1 |
| contrib/seg/sort-segments.pl | 1 | 1 |
| contrib/test_decoding/t/001_repl_stats.pl | 1 | 1 |
| contrib/vacuumlo/t/001_basic.pl | 1 | 1 |
| doc/src/sgml/generate-errcodes-table.pl | 1 | 1 |
| doc/src/sgml/generate-keywords-table.pl | 1 | 1 |
| doc/src/sgml/mk_feature_tables.pl | 1 | 1 |
| src/backend/catalog/Catalog.pm | 1 | 1 |
| src/backend/catalog/genbki.pl | 1 | 1 |
| src/backend/nodes/gen_node_support.pl | 1 | 1 |
| src/backend/parser/check_keywords.pl | 1 | 1 |
| src/backend/snowball/snowball_create.pl | 1 | 1 |
| src/backend/storage/lmgr/generate-lwlocknames.pl | 1 | 1 |
| src/backend/utils/activity/generate-wait_event_types.pl | 1 | 1 |
| src/backend/utils/generate-errcodes.pl | 1 | 1 |
| src/backend/utils/Gen_fmgrtab.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/convutils.pm | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_BIG5.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_GB18030.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_most.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_SJIS.pl | 1 | 1 |
| src/backend/utils/mb/Unicode/UCS_to_UHC.pl | 1 | 1 |
| src/bin/initdb/t/001_initdb.pl | 1 | 1 |
| src/bin/pg_amcheck/t/001_basic.pl | 1 | 1 |
| src/bin/pg_amcheck/t/002_nonesuch.pl | 1 | 1 |
| src/bin/pg_amcheck/t/003_check.pl | 1 | 1 |
| src/bin/pg_amcheck/t/004_verify_heapam.pl | 1 | 1 |
| src/bin/pg_amcheck/t/005_opclass_damage.pl | 1 | 1 |
| src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl | 1 | 1 |
| src/bin/pg_basebackup/t/010_pg_basebackup.pl | 1 | 1 |
| src/bin/pg_basebackup/t/011_in_place_tablespace.pl | 1 | 1 |
| src/bin/pg_basebackup/t/020_pg_receivewal.pl | 1 | 1 |
| src/bin/pg_basebackup/t/030_pg_recvlogical.pl | 1 | 1 |
| src/bin/pgbench/t/001_pgbench_with_server.pl | 1 | 1 |
| src/bin/pgbench/t/002_pgbench_no_server.pl | 1 | 1 |
| src/bin/pg_checksums/t/001_basic.pl | 1 | 1 |
| src/bin/pg_checksums/t/002_actions.pl | 1 | 1 |
| src/bin/pg_config/t/001_pg_config.pl | 1 | 1 |
| src/bin/pg_controldata/t/001_pg_controldata.pl | 1 | 1 |
| src/bin/pg_ctl/t/001_start_stop.pl | 1 | 1 |
| src/bin/pg_ctl/t/002_status.pl | 1 | 1 |
| src/bin/pg_ctl/t/003_promote.pl | 1 | 1 |
| src/bin/pg_ctl/t/004_logrotate.pl | 1 | 1 |
| src/bin/pg_dump/t/001_basic.pl | 1 | 1 |
| src/bin/pg_dump/t/002_pg_dump.pl | 1 | 1 |
| src/bin/pg_dump/t/003_pg_dump_with_server.pl | 1 | 1 |
| src/bin/pg_dump/t/004_pg_dump_parallel.pl | 1 | 1 |
| src/bin/pg_dump/t/010_dump_connstr.pl | 1 | 1 |
| src/bin/pg_resetwal/t/001_basic.pl | 1 | 1 |
| src/bin/pg_resetwal/t/002_corrupted.pl | 1 | 1 |
| src/bin/pg_rewind/t/001_basic.pl | 1 | 1 |
| src/bin/pg_rewind/t/002_databases.pl | 1 | 1 |
| src/bin/pg_rewind/t/003_extrafiles.pl | 1 | 1 |
| src/bin/pg_rewind/t/004_pg_xlog_symlink.pl | 1 | 1 |
| src/bin/pg_rewind/t/005_same_timeline.pl | 1 | 1 |
| src/bin/pg_rewind/t/006_options.pl | 1 | 1 |
| src/bin/pg_rewind/t/007_standby_source.pl | 1 | 1 |
| src/bin/pg_rewind/t/008_min_recovery_point.pl | 1 | 1 |
| src/bin/pg_rewind/t/009_growing_files.pl | 1 | 1 |
| src/bin/pg_rewind/t/RewindTest.pm | 1 | 1 |
| src/bin/pg_test_fsync/t/001_basic.pl | 1 | 1 |
| src/bin/pg_test_timing/t/001_basic.pl | 1 | 1 |
| src/bin/pg_upgrade/t/001_basic.pl | 1 | 1 |
| src/bin/pg_upgrade/t/002_pg_upgrade.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/001_basic.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/002_algorithm.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/003_corruption.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/004_options.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/005_bad_manifest.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/006_encoding.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/007_wal.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/008_untar.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/009_extract.pl | 1 | 1 |
| src/bin/pg_verifybackup/t/010_client_untar.pl | 1 | 1 |
| src/bin/pg_waldump/t/001_basic.pl | 1 | 1 |
| src/bin/pg_waldump/t/002_save_fullpage.pl | 1 | 1 |
| src/bin/psql/create_help.pl | 1 | 1 |
| src/bin/psql/t/001_basic.pl | 1 | 1 |
| src/bin/psql/t/010_tab_completion.pl | 1 | 1 |
| src/bin/psql/t/020_cancel.pl | 1 | 1 |
| src/bin/scripts/t/010_clusterdb.pl | 1 | 1 |
| src/bin/scripts/t/011_clusterdb_all.pl | 1 | 1 |
| src/bin/scripts/t/020_createdb.pl | 1 | 1 |
| src/bin/scripts/t/040_createuser.pl | 1 | 1 |
| src/bin/scripts/t/050_dropdb.pl | 1 | 1 |
| src/bin/scripts/t/070_dropuser.pl | 1 | 1 |
| src/bin/scripts/t/080_pg_isready.pl | 1 | 1 |
| src/bin/scripts/t/090_reindexdb.pl | 1 | 1 |
| src/bin/scripts/t/091_reindexdb_all.pl | 1 | 1 |
| src/bin/scripts/t/100_vacuumdb.pl | 1 | 1 |
| src/bin/scripts/t/101_vacuumdb_all.pl | 1 | 1 |
| src/bin/scripts/t/102_vacuumdb_stages.pl | 1 | 1 |
| src/bin/scripts/t/200_connstr.pl | 1 | 1 |
| src/common/unicode/generate-norm_test_table.pl | 1 | 1 |
| src/common/unicode/generate-unicode_east_asian_fw_table.pl | 1 | 1 |
| src/common/unicode/generate-unicode_nonspacing_table.pl | 1 | 1 |
| src/common/unicode/generate-unicode_normprops_table.pl | 1 | 1 |
| src/common/unicode/generate-unicode_norm_table.pl | 1 | 1 |
| src/include/catalog/duplicate_oids | 1 | 1 |
| src/include/catalog/reformat_dat_file.pl | 1 | 1 |
| src/include/catalog/renumber_oids.pl | 1 | 1 |
| src/include/catalog/unused_oids | 1 | 1 |
| src/interfaces/ecpg/preproc/check_rules.pl | 1 | 1 |
| src/interfaces/ecpg/preproc/parse.pl | 1 | 1 |
| src/interfaces/libpq/t/001_uri.pl | 1 | 1 |
| src/interfaces/libpq/t/002_api.pl | 1 | 1 |
| src/interfaces/libpq/t/003_load_balance_host_list.pl | 1 | 1 |
| src/interfaces/libpq/t/004_load_balance_dns.pl | 1 | 1 |
| src/pl/plperl/plc_perlboot.pl | 3 | 3 |
| src/pl/plperl/plperl_opmask.pl | 1 | 1 |
| src/pl/plperl/text2macro.pl | 1 | 1 |
| src/pl/plpgsql/src/generate-plerrcodes.pl | 1 | 1 |
| src/pl/plpython/generate-spiexceptions.pl | 1 | 1 |
| src/pl/tcl/generate-pltclerrcodes.pl | 1 | 1 |
| src/test/authentication/t/001_password.pl | 1 | 1 |
| src/test/authentication/t/002_saslprep.pl | 1 | 1 |
| src/test/authentication/t/003_peer.pl | 1 | 1 |
| src/test/authentication/t/004_file_inclusion.pl | 1 | 1 |
| src/test/authentication/t/005_sspi.pl | 1 | 1 |
| src/test/icu/t/010_database.pl | 1 | 1 |
| src/test/kerberos/t/001_auth.pl | 1 | 1 |
| src/test/ldap/LdapServer.pm | 1 | 1 |
| src/test/ldap/t/001_auth.pl | 1 | 1 |
| src/test/ldap/t/002_bindpasswd.pl | 1 | 1 |
| src/test/locale/sort-test.pl | 1 | 1 |
| src/test/modules/brin/t/01_workitems.pl | 1 | 1 |
| src/test/modules/brin/t/02_wal_consistency.pl | 1 | 1 |
| src/test/modules/commit_ts/t/001_base.pl | 1 | 1 |
| src/test/modules/commit_ts/t/002_standby.pl | 1 | 1 |
| src/test/modules/commit_ts/t/003_standby_2.pl | 1 | 1 |
| src/test/modules/commit_ts/t/004_restart.pl | 1 | 1 |
| src/test/modules/ldap_password_func/t/001_mutated_bindpasswd.pl | 1 | 1 |
| src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl | 1 | 1 |
| src/test/modules/ssl_passphrase_callback/t/001_testfunc.pl | 1 | 1 |
| src/test/modules/test_custom_rmgrs/t/001_basic.pl | 1 | 1 |
| src/test/modules/test_misc/t/001_constraint_validation.pl | 1 | 1 |
| src/test/modules/test_misc/t/002_tablespace.pl | 1 | 1 |
| src/test/modules/test_misc/t/003_check_guc.pl | 1 | 1 |
| src/test/modules/test_misc/t/004_io_direct.pl | 1 | 1 |
| src/test/modules/test_pg_dump/t/001_base.pl | 1 | 1 |
| src/test/modules/worker_spi/t/001_worker_spi.pl | 1 | 1 |
| src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm | 1 | 1 |
| src/test/perl/PostgreSQL/Test/BackgroundPsql.pm | 1 | 1 |
| src/test/perl/PostgreSQL/Test/Cluster.pm | 1 | 1 |
| src/test/perl/PostgreSQL/Test/RecursiveCopy.pm | 1 | 1 |
| src/test/perl/PostgreSQL/Test/SimpleTee.pm | 1 | 1 |
| src/test/perl/PostgreSQL/Test/Utils.pm | 1 | 1 |
| src/test/perl/PostgreSQL/Version.pm | 1 | 1 |
| src/test/perl/README | 1 | 1 |
| src/test/recovery/t/001_stream_rep.pl | 1 | 1 |
| src/test/recovery/t/002_archiving.pl | 1 | 1 |
| src/test/recovery/t/003_recovery_targets.pl | 1 | 1 |
| src/test/recovery/t/004_timeline_switch.pl | 1 | 1 |
| src/test/recovery/t/005_replay_delay.pl | 1 | 1 |
| src/test/recovery/t/006_logical_decoding.pl | 1 | 1 |
| src/test/recovery/t/007_sync_rep.pl | 1 | 1 |
| src/test/recovery/t/008_fsm_truncation.pl | 1 | 1 |
| src/test/recovery/t/009_twophase.pl | 1 | 1 |
| src/test/recovery/t/010_logical_decoding_timelines.pl | 1 | 1 |
| src/test/recovery/t/012_subtransactions.pl | 1 | 1 |
| src/test/recovery/t/013_crash_restart.pl | 1 | 1 |
| src/test/recovery/t/014_unlogged_reinit.pl | 1 | 1 |
| src/test/recovery/t/015_promotion_pages.pl | 1 | 1 |
| src/test/recovery/t/016_min_consistency.pl | 1 | 1 |
| src/test/recovery/t/017_shm.pl | 1 | 1 |
| src/test/recovery/t/018_wal_optimize.pl | 1 | 1 |
| src/test/recovery/t/019_replslot_limit.pl | 1 | 1 |
| src/test/recovery/t/020_archive_status.pl | 1 | 1 |
| src/test/recovery/t/021_row_visibility.pl | 1 | 1 |
| src/test/recovery/t/022_crash_temp_files.pl | 1 | 1 |
| src/test/recovery/t/023_pitr_prepared_xact.pl | 1 | 1 |
| src/test/recovery/t/024_archive_recovery.pl | 1 | 1 |
| src/test/recovery/t/025_stuck_on_old_timeline.pl | 1 | 1 |
| src/test/recovery/t/026_overwrite_contrecord.pl | 1 | 1 |
| src/test/recovery/t/027_stream_regress.pl | 1 | 1 |
| src/test/recovery/t/028_pitr_timelines.pl | 1 | 1 |
| src/test/recovery/t/029_stats_restart.pl | 1 | 1 |
| src/test/recovery/t/030_stats_cleanup_replica.pl | 1 | 1 |
| src/test/recovery/t/031_recovery_conflict.pl | 1 | 1 |
| src/test/recovery/t/032_relfilenode_reuse.pl | 1 | 1 |
| src/test/recovery/t/033_replay_tsp_drops.pl | 1 | 1 |
| src/test/recovery/t/034_create_database.pl | 1 | 1 |
| src/test/recovery/t/035_standby_logical_decoding.pl | 1 | 1 |
| src/test/recovery/t/036_truncated_dropped.pl | 1 | 1 |
| src/test/recovery/t/037_invalid_database.pl | 1 | 1 |
| src/test/recovery/t/cp_history_files | 1 | 1 |
| src/test/ssl/t/001_ssltests.pl | 3 | 1 |
| src/test/ssl/t/002_scram.pl | 1 | 1 |
| src/test/ssl/t/003_sslinfo.pl | 1 | 1 |
| src/test/ssl/t/SSL/Backend/OpenSSL.pm | 1 | 1 |
| src/test/ssl/t/SSL/Server.pm | 1 | 1 |
| src/test/subscription/t/001_rep_changes.pl | 1 | 1 |
| src/test/subscription/t/002_types.pl | 1 | 1 |
| src/test/subscription/t/003_constraints.pl | 1 | 1 |
| src/test/subscription/t/004_sync.pl | 1 | 1 |
| src/test/subscription/t/005_encoding.pl | 1 | 1 |
| src/test/subscription/t/006_rewrite.pl | 1 | 1 |
| src/test/subscription/t/007_ddl.pl | 1 | 1 |
| src/test/subscription/t/008_diff_schema.pl | 1 | 1 |
| src/test/subscription/t/009_matviews.pl | 1 | 1 |
| src/test/subscription/t/010_truncate.pl | 1 | 1 |
| src/test/subscription/t/011_generated.pl | 1 | 1 |
| src/test/subscription/t/012_collation.pl | 1 | 1 |
| src/test/subscription/t/013_partition.pl | 1 | 1 |
| src/test/subscription/t/014_binary.pl | 1 | 1 |
| src/test/subscription/t/015_stream.pl | 1 | 1 |
| src/test/subscription/t/016_stream_subxact.pl | 1 | 1 |
| src/test/subscription/t/017_stream_ddl.pl | 1 | 1 |
| src/test/subscription/t/018_stream_subxact_abort.pl | 1 | 1 |
| src/test/subscription/t/019_stream_subxact_ddl_abort.pl | 1 | 1 |
| src/test/subscription/t/020_messages.pl | 1 | 1 |
| src/test/subscription/t/021_twophase.pl | 1 | 1 |
| src/test/subscription/t/022_twophase_cascade.pl | 1 | 1 |
| src/test/subscription/t/023_twophase_stream.pl | 1 | 1 |
| src/test/subscription/t/024_add_drop_pub.pl | 1 | 1 |
| src/test/subscription/t/025_rep_changes_for_schema.pl | 1 | 1 |
| src/test/subscription/t/026_stats.pl | 1 | 1 |
| src/test/subscription/t/027_nosuperuser.pl | 1 | 1 |
| src/test/subscription/t/028_row_filter.pl | 1 | 1 |
| src/test/subscription/t/029_on_error.pl | 1 | 1 |
| src/test/subscription/t/030_origin.pl | 1 | 1 |
| src/test/subscription/t/031_column_list.pl | 1 | 1 |
| src/test/subscription/t/032_subscribe_use_index.pl | 1 | 1 |
| src/test/subscription/t/033_run_as_table_owner.pl | 1 | 1 |
| src/test/subscription/t/100_bugs.pl | 1 | 1 |
| src/tools/check_bison_recursion.pl | 1 | 1 |
| src/tools/ci/windows_build_config.pl | 1 | 1 |
| src/tools/copyright.pl | 1 | 1 |
| src/tools/fix-old-flex-code.pl | 1 | 1 |
| src/tools/gen_export.pl | 1 | 1 |
| src/tools/gen_keywordlist.pl | 1 | 1 |
| src/tools/git_changelog | 1 | 1 |
| src/tools/mark_pgdllimport.pl | 1 | 1 |
| src/tools/msvc/build.pl | 1 | 1 |
| src/tools/msvc/config_default.pl | 1 | 1 |
| src/tools/msvc/dummylib/Win32API/File.pm | 1 | 1 |
| src/tools/msvc/dummylib/Win32.pm | 1 | 1 |
| src/tools/msvc/dummylib/Win32/Registry.pm | 1 | 1 |
| src/tools/msvc/gendef.pl | 1 | 1 |
| src/tools/msvc/install.pl | 1 | 1 |
| src/tools/msvc/Install.pm | 1 | 1 |
| src/tools/msvc/mkvcbuild.pl | 1 | 1 |
| src/tools/msvc/Mkvcbuild.pm | 1 | 1 |
| src/tools/msvc/MSBuildProject.pm | 5 | 5 |
| src/tools/msvc/pgbison.pl | 1 | 1 |
| src/tools/msvc/pgflex.pl | 1 | 1 |
| src/tools/msvc/Project.pm | 1 | 1 |
| src/tools/msvc/Solution.pm | 5 | 5 |
| src/tools/msvc/vcregress.pl | 1 | 1 |
| src/tools/msvc/VSObjectFactory.pm | 1 | 1 |
| src/tools/PerfectHash.pm | 1 | 1 |
| src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl | 1 | 1 |
| src/tools/pginclude/pgcheckdefines | 1 | 1 |
| src/tools/pgindent/pgindent | 1 | 1 |
| src/tools/version_stamp.pl | 1 | 1 |
| src/tools/win32tzlist.pl | 1 | 1 |
From 085446f8f50c567466fc885698b57155de237015 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Tue, 1 Aug 2023 13:44:16 +0200
Subject: [PATCH v2] Make all Perl warnings fatal
---
config/check_modules.pl | 2 +-
contrib/amcheck/t/001_verify_heapam.pl | 2 +-
contrib/amcheck/t/002_cic.pl | 2 +-
contrib/amcheck/t/003_cic_2pc.pl | 2 +-
contrib/auto_explain/t/001_auto_explain.pl | 2 +-
contrib/basebackup_to_shell/t/001_basic.pl | 2 +-
contrib/bloom/t/001_wal.pl | 2 +-
contrib/fuzzystrmatch/daitch_mokotoff_header.pl | 2 +-
contrib/intarray/bench/bench.pl | 2 +-
contrib/intarray/bench/create_test.pl | 2 +-
contrib/oid2name/t/001_basic.pl | 2 +-
contrib/pg_prewarm/t/001_basic.pl | 2 +-
contrib/seg/seg-validate.pl | 2 +-
contrib/seg/sort-segments.pl | 2 +-
contrib/test_decoding/t/001_repl_stats.pl | 2 +-
contrib/vacuumlo/t/001_basic.pl | 2 +-
doc/src/sgml/generate-errcodes-table.pl | 2 +-
doc/src/sgml/generate-keywords-table.pl | 2 +-
doc/src/sgml/mk_feature_tables.pl | 2 +-
src/backend/catalog/Catalog.pm | 2 +-
src/backend/catalog/genbki.pl | 2 +-
src/backend/nodes/gen_node_support.pl | 2 +-
src/backend/parser/check_keywords.pl | 2 +-
src/backend/snowball/snowball_create.pl | 2 +-
src/backend/storage/lmgr/generate-lwlocknames.pl | 2 +-
src/backend/utils/Gen_fmgrtab.pl | 2 +-
.../utils/activity/generate-wait_event_types.pl | 2 +-
src/backend/utils/generate-errcodes.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_BIG5.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_GB18030.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_SJIS.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_UHC.pl | 2 +-
src/backend/utils/mb/Unicode/UCS_to_most.pl | 2 +-
src/backend/utils/mb/Unicode/convutils.pm | 2 +-
src/bin/initdb/t/001_initdb.pl | 2 +-
src/bin/pg_amcheck/t/001_basic.pl | 2 +-
src/bin/pg_amcheck/t/002_nonesuch.pl | 2 +-
src/bin/pg_amcheck/t/003_check.pl | 2 +-
src/bin/pg_amcheck/t/004_verify_heapam.pl | 2 +-
src/bin/pg_amcheck/t/005_opclass_damage.pl | 2 +-
src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl | 2 +-
src/bin/pg_basebackup/t/010_pg_basebackup.pl | 2 +-
src/bin/pg_basebackup/t/011_in_place_tablespace.pl | 2 +-
src/bin/pg_basebackup/t/020_pg_receivewal.pl | 2 +-
src/bin/pg_basebackup/t/030_pg_recvlogical.pl | 2 +-
src/bin/pg_checksums/t/001_basic.pl | 2 +-
src/bin/pg_checksums/t/002_actions.pl | 2 +-
src/bin/pg_config/t/001_pg_config.pl | 2 +-
src/bin/pg_controldata/t/001_pg_controldata.pl | 2 +-
src/bin/pg_ctl/t/001_start_stop.pl | 2 +-
src/bin/pg_ctl/t/002_status.pl | 2 +-
src/bin/pg_ctl/t/003_promote.pl | 2 +-
src/bin/pg_ctl/t/004_logrotate.pl | 2 +-
src/bin/pg_dump/t/001_basic.pl | 2 +-
src/bin/pg_dump/t/002_pg_dump.pl | 2 +-
src/bin/pg_dump/t/003_pg_dump_with_server.pl | 2 +-
src/bin/pg_dump/t/004_pg_dump_parallel.pl | 2 +-
src/bin/pg_dump/t/010_dump_connstr.pl | 2 +-
src/bin/pg_resetwal/t/001_basic.pl | 2 +-
src/bin/pg_resetwal/t/002_corrupted.pl | 2 +-
src/bin/pg_rewind/t/001_basic.pl | 2 +-
src/bin/pg_rewind/t/002_databases.pl | 2 +-
src/bin/pg_rewind/t/003_extrafiles.pl | 2 +-
src/bin/pg_rewind/t/004_pg_xlog_symlink.pl | 2 +-
src/bin/pg_rewind/t/005_same_timeline.pl | 2 +-
src/bin/pg_rewind/t/006_options.pl | 2 +-
src/bin/pg_rewind/t/007_standby_source.pl | 2 +-
src/bin/pg_rewind/t/008_min_recovery_point.pl | 2 +-
src/bin/pg_rewind/t/009_growing_files.pl | 2 +-
src/bin/pg_rewind/t/RewindTest.pm | 2 +-
src/bin/pg_test_fsync/t/001_basic.pl | 2 +-
src/bin/pg_test_timing/t/001_basic.pl | 2 +-
src/bin/pg_upgrade/t/001_basic.pl | 2 +-
src/bin/pg_upgrade/t/002_pg_upgrade.pl | 2 +-
src/bin/pg_verifybackup/t/001_basic.pl | 2 +-
src/bin/pg_verifybackup/t/002_algorithm.pl | 2 +-
src/bin/pg_verifybackup/t/003_corruption.pl | 2 +-
src/bin/pg_verifybackup/t/004_options.pl | 2 +-
src/bin/pg_verifybackup/t/005_bad_manifest.pl | 2 +-
src/bin/pg_verifybackup/t/006_encoding.pl | 2 +-
src/bin/pg_verifybackup/t/007_wal.pl | 2 +-
src/bin/pg_verifybackup/t/008_untar.pl | 2 +-
src/bin/pg_verifybackup/t/009_extract.pl | 2 +-
src/bin/pg_verifybackup/t/010_client_untar.pl | 2 +-
src/bin/pg_waldump/t/001_basic.pl | 2 +-
src/bin/pg_waldump/t/002_save_fullpage.pl | 2 +-
src/bin/pgbench/t/001_pgbench_with_server.pl | 2 +-
src/bin/pgbench/t/002_pgbench_no_server.pl | 2 +-
src/bin/psql/create_help.pl | 2 +-
src/bin/psql/t/001_basic.pl | 2 +-
src/bin/psql/t/010_tab_completion.pl | 2 +-
src/bin/psql/t/020_cancel.pl | 2 +-
src/bin/scripts/t/010_clusterdb.pl | 2 +-
src/bin/scripts/t/011_clusterdb_all.pl | 2 +-
src/bin/scripts/t/020_createdb.pl | 2 +-
src/bin/scripts/t/040_createuser.pl | 2 +-
src/bin/scripts/t/050_dropdb.pl | 2 +-
src/bin/scripts/t/070_dropuser.pl | 2 +-
src/bin/scripts/t/080_pg_isready.pl | 2 +-
src/bin/scripts/t/090_reindexdb.pl | 2 +-
src/bin/scripts/t/091_reindexdb_all.pl | 2 +-
src/bin/scripts/t/100_vacuumdb.pl | 2 +-
src/bin/scripts/t/101_vacuumdb_all.pl | 2 +-
src/bin/scripts/t/102_vacuumdb_stages.pl | 2 +-
src/bin/scripts/t/200_connstr.pl | 2 +-
src/common/unicode/generate-norm_test_table.pl | 2 +-
.../unicode/generate-unicode_east_asian_fw_table.pl | 2 +-
.../unicode/generate-unicode_nonspacing_table.pl | 2 +-
src/common/unicode/generate-unicode_norm_table.pl | 2 +-
src/common/unicode/generate-unicode_normprops_table.pl | 2 +-
src/include/catalog/duplicate_oids | 2 +-
src/include/catalog/reformat_dat_file.pl | 2 +-
src/include/catalog/renumber_oids.pl | 2 +-
src/include/catalog/unused_oids | 2 +-
src/interfaces/ecpg/preproc/check_rules.pl | 2 +-
src/interfaces/ecpg/preproc/parse.pl | 2 +-
src/interfaces/libpq/t/001_uri.pl | 2 +-
src/interfaces/libpq/t/002_api.pl | 2 +-
src/interfaces/libpq/t/003_load_balance_host_list.pl | 2 +-
src/interfaces/libpq/t/004_load_balance_dns.pl | 2 +-
src/pl/plperl/plc_perlboot.pl | 6 +++---
src/pl/plperl/plperl_opmask.pl | 2 +-
src/pl/plperl/text2macro.pl | 2 +-
src/pl/plpgsql/src/generate-plerrcodes.pl | 2 +-
src/pl/plpython/generate-spiexceptions.pl | 2 +-
src/pl/tcl/generate-pltclerrcodes.pl | 2 +-
src/test/authentication/t/001_password.pl | 2 +-
src/test/authentication/t/002_saslprep.pl | 2 +-
src/test/authentication/t/003_peer.pl | 2 +-
src/test/authentication/t/004_file_inclusion.pl | 2 +-
src/test/authentication/t/005_sspi.pl | 2 +-
src/test/icu/t/010_database.pl | 2 +-
src/test/kerberos/t/001_auth.pl | 2 +-
src/test/ldap/LdapServer.pm | 2 +-
src/test/ldap/t/001_auth.pl | 2 +-
src/test/ldap/t/002_bindpasswd.pl | 2 +-
src/test/locale/sort-test.pl | 2 +-
src/test/modules/brin/t/01_workitems.pl | 2 +-
src/test/modules/brin/t/02_wal_consistency.pl | 2 +-
src/test/modules/commit_ts/t/001_base.pl | 2 +-
src/test/modules/commit_ts/t/002_standby.pl | 2 +-
src/test/modules/commit_ts/t/003_standby_2.pl | 2 +-
src/test/modules/commit_ts/t/004_restart.pl | 2 +-
.../ldap_password_func/t/001_mutated_bindpasswd.pl | 2 +-
.../modules/libpq_pipeline/t/001_libpq_pipeline.pl | 2 +-
.../modules/ssl_passphrase_callback/t/001_testfunc.pl | 2 +-
src/test/modules/test_custom_rmgrs/t/001_basic.pl | 2 +-
.../modules/test_misc/t/001_constraint_validation.pl | 2 +-
src/test/modules/test_misc/t/002_tablespace.pl | 2 +-
src/test/modules/test_misc/t/003_check_guc.pl | 2 +-
src/test/modules/test_misc/t/004_io_direct.pl | 2 +-
src/test/modules/test_pg_dump/t/001_base.pl | 2 +-
src/test/modules/worker_spi/t/001_worker_spi.pl | 2 +-
src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm | 2 +-
src/test/perl/PostgreSQL/Test/BackgroundPsql.pm | 2 +-
src/test/perl/PostgreSQL/Test/Cluster.pm | 2 +-
src/test/perl/PostgreSQL/Test/RecursiveCopy.pm | 2 +-
src/test/perl/PostgreSQL/Test/SimpleTee.pm | 2 +-
src/test/perl/PostgreSQL/Test/Utils.pm | 2 +-
src/test/perl/PostgreSQL/Version.pm | 2 +-
src/test/perl/README | 2 +-
src/test/recovery/t/001_stream_rep.pl | 2 +-
src/test/recovery/t/002_archiving.pl | 2 +-
src/test/recovery/t/003_recovery_targets.pl | 2 +-
src/test/recovery/t/004_timeline_switch.pl | 2 +-
src/test/recovery/t/005_replay_delay.pl | 2 +-
src/test/recovery/t/006_logical_decoding.pl | 2 +-
src/test/recovery/t/007_sync_rep.pl | 2 +-
src/test/recovery/t/008_fsm_truncation.pl | 2 +-
src/test/recovery/t/009_twophase.pl | 2 +-
src/test/recovery/t/010_logical_decoding_timelines.pl | 2 +-
src/test/recovery/t/012_subtransactions.pl | 2 +-
src/test/recovery/t/013_crash_restart.pl | 2 +-
src/test/recovery/t/014_unlogged_reinit.pl | 2 +-
src/test/recovery/t/015_promotion_pages.pl | 2 +-
src/test/recovery/t/016_min_consistency.pl | 2 +-
src/test/recovery/t/017_shm.pl | 2 +-
src/test/recovery/t/018_wal_optimize.pl | 2 +-
src/test/recovery/t/019_replslot_limit.pl | 2 +-
src/test/recovery/t/020_archive_status.pl | 2 +-
src/test/recovery/t/021_row_visibility.pl | 2 +-
src/test/recovery/t/022_crash_temp_files.pl | 2 +-
src/test/recovery/t/023_pitr_prepared_xact.pl | 2 +-
src/test/recovery/t/024_archive_recovery.pl | 2 +-
src/test/recovery/t/025_stuck_on_old_timeline.pl | 2 +-
src/test/recovery/t/026_overwrite_contrecord.pl | 2 +-
src/test/recovery/t/027_stream_regress.pl | 2 +-
src/test/recovery/t/028_pitr_timelines.pl | 2 +-
src/test/recovery/t/029_stats_restart.pl | 2 +-
src/test/recovery/t/030_stats_cleanup_replica.pl | 2 +-
src/test/recovery/t/031_recovery_conflict.pl | 2 +-
src/test/recovery/t/032_relfilenode_reuse.pl | 2 +-
src/test/recovery/t/033_replay_tsp_drops.pl | 2 +-
src/test/recovery/t/034_create_database.pl | 2 +-
src/test/recovery/t/035_standby_logical_decoding.pl | 2 +-
src/test/recovery/t/036_truncated_dropped.pl | 2 +-
src/test/recovery/t/037_invalid_database.pl | 2 +-
src/test/recovery/t/cp_history_files | 2 +-
src/test/ssl/t/001_ssltests.pl | 4 +++-
src/test/ssl/t/002_scram.pl | 2 +-
src/test/ssl/t/003_sslinfo.pl | 2 +-
src/test/ssl/t/SSL/Backend/OpenSSL.pm | 2 +-
src/test/ssl/t/SSL/Server.pm | 2 +-
src/test/subscription/t/001_rep_changes.pl | 2 +-
src/test/subscription/t/002_types.pl | 2 +-
src/test/subscription/t/003_constraints.pl | 2 +-
src/test/subscription/t/004_sync.pl | 2 +-
src/test/subscription/t/005_encoding.pl | 2 +-
src/test/subscription/t/006_rewrite.pl | 2 +-
src/test/subscription/t/007_ddl.pl | 2 +-
src/test/subscription/t/008_diff_schema.pl | 2 +-
src/test/subscription/t/009_matviews.pl | 2 +-
src/test/subscription/t/010_truncate.pl | 2 +-
src/test/subscription/t/011_generated.pl | 2 +-
src/test/subscription/t/012_collation.pl | 2 +-
src/test/subscription/t/013_partition.pl | 2 +-
src/test/subscription/t/014_binary.pl | 2 +-
src/test/subscription/t/015_stream.pl | 2 +-
src/test/subscription/t/016_stream_subxact.pl | 2 +-
src/test/subscription/t/017_stream_ddl.pl | 2 +-
src/test/subscription/t/018_stream_subxact_abort.pl | 2 +-
.../subscription/t/019_stream_subxact_ddl_abort.pl | 2 +-
src/test/subscription/t/020_messages.pl | 2 +-
src/test/subscription/t/021_twophase.pl | 2 +-
src/test/subscription/t/022_twophase_cascade.pl | 2 +-
src/test/subscription/t/023_twophase_stream.pl | 2 +-
src/test/subscription/t/024_add_drop_pub.pl | 2 +-
src/test/subscription/t/025_rep_changes_for_schema.pl | 2 +-
src/test/subscription/t/026_stats.pl | 2 +-
src/test/subscription/t/027_nosuperuser.pl | 2 +-
src/test/subscription/t/028_row_filter.pl | 2 +-
src/test/subscription/t/029_on_error.pl | 2 +-
src/test/subscription/t/030_origin.pl | 2 +-
src/test/subscription/t/031_column_list.pl | 2 +-
src/test/subscription/t/032_subscribe_use_index.pl | 2 +-
src/test/subscription/t/033_run_as_table_owner.pl | 2 +-
src/test/subscription/t/100_bugs.pl | 2 +-
src/tools/PerfectHash.pm | 2 +-
src/tools/check_bison_recursion.pl | 2 +-
src/tools/ci/windows_build_config.pl | 2 +-
src/tools/copyright.pl | 2 +-
src/tools/fix-old-flex-code.pl | 2 +-
src/tools/gen_export.pl | 2 +-
src/tools/gen_keywordlist.pl | 2 +-
src/tools/git_changelog | 2 +-
src/tools/mark_pgdllimport.pl | 2 +-
src/tools/msvc/Install.pm | 2 +-
src/tools/msvc/MSBuildProject.pm | 10 +++++-----
src/tools/msvc/Mkvcbuild.pm | 2 +-
src/tools/msvc/Project.pm | 2 +-
src/tools/msvc/Solution.pm | 10 +++++-----
src/tools/msvc/VSObjectFactory.pm | 2 +-
src/tools/msvc/build.pl | 2 +-
src/tools/msvc/config_default.pl | 2 +-
src/tools/msvc/dummylib/Win32.pm | 2 +-
src/tools/msvc/dummylib/Win32/Registry.pm | 2 +-
src/tools/msvc/dummylib/Win32API/File.pm | 2 +-
src/tools/msvc/gendef.pl | 2 +-
src/tools/msvc/install.pl | 2 +-
src/tools/msvc/mkvcbuild.pl | 2 +-
src/tools/msvc/pgbison.pl | 2 +-
src/tools/msvc/pgflex.pl | 2 +-
src/tools/msvc/vcregress.pl | 2 +-
src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl | 2 +-
src/tools/pginclude/pgcheckdefines | 2 +-
src/tools/pgindent/pgindent | 2 +-
src/tools/version_stamp.pl | 2 +-
src/tools/win32tzlist.pl | 2 +-
275 files changed, 287 insertions(+), 285 deletions(-)
diff --git a/config/check_modules.pl b/config/check_modules.pl
index 611f3a673f..1599abcc0b 100644
--- a/config/check_modules.pl
+++ b/config/check_modules.pl
@@ -5,7 +5,7 @@
# but specify them anyway for documentation's sake.)
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Config;
use IPC::Run 0.79;
diff --git a/contrib/amcheck/t/001_verify_heapam.pl b/contrib/amcheck/t/001_verify_heapam.pl
index 46d5b53181..c9caa48169 100644
--- a/contrib/amcheck/t/001_verify_heapam.pl
+++ b/contrib/amcheck/t/001_verify_heapam.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/amcheck/t/002_cic.pl b/contrib/amcheck/t/002_cic.pl
index 42a047a357..f0b5d8f7e4 100644
--- a/contrib/amcheck/t/002_cic.pl
+++ b/contrib/amcheck/t/002_cic.pl
@@ -3,7 +3,7 @@
# Test CREATE INDEX CONCURRENTLY with concurrent modifications
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/amcheck/t/003_cic_2pc.pl b/contrib/amcheck/t/003_cic_2pc.pl
index 3279a2505a..a5eb2d9d69 100644
--- a/contrib/amcheck/t/003_cic_2pc.pl
+++ b/contrib/amcheck/t/003_cic_2pc.pl
@@ -3,7 +3,7 @@
# Test CREATE INDEX CONCURRENTLY with concurrent prepared-xact modifications
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/auto_explain/t/001_auto_explain.pl b/contrib/auto_explain/t/001_auto_explain.pl
index abb422f8de..2720215dbc 100644
--- a/contrib/auto_explain/t/001_auto_explain.pl
+++ b/contrib/auto_explain/t/001_auto_explain.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/basebackup_to_shell/t/001_basic.pl b/contrib/basebackup_to_shell/t/001_basic.pl
index e2cdd2ecb0..221f5b2296 100644
--- a/contrib/basebackup_to_shell/t/001_basic.pl
+++ b/contrib/basebackup_to_shell/t/001_basic.pl
@@ -1,7 +1,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/bloom/t/001_wal.pl b/contrib/bloom/t/001_wal.pl
index 2a69ff1a74..7e8c2b1a3d 100644
--- a/contrib/bloom/t/001_wal.pl
+++ b/contrib/bloom/t/001_wal.pl
@@ -3,7 +3,7 @@
# Test generic xlog record work for bloom index replication.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/contrib/fuzzystrmatch/daitch_mokotoff_header.pl b/contrib/fuzzystrmatch/daitch_mokotoff_header.pl
index 51a40e7748..5ee0d1cc7c 100755
--- a/contrib/fuzzystrmatch/daitch_mokotoff_header.pl
+++ b/contrib/fuzzystrmatch/daitch_mokotoff_header.pl
@@ -9,7 +9,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
die "Usage: $0 OUTPUT_FILE\n" if @ARGV != 1;
my $output_file = $ARGV[0];
diff --git a/contrib/intarray/bench/bench.pl b/contrib/intarray/bench/bench.pl
index 067654986e..ba8163ce11 100755
--- a/contrib/intarray/bench/bench.pl
+++ b/contrib/intarray/bench/bench.pl
@@ -3,7 +3,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
# make sure we are in a sane environment.
use DBI();
diff --git a/contrib/intarray/bench/create_test.pl b/contrib/intarray/bench/create_test.pl
index 6efe9151ca..f6ffc5b452 100755
--- a/contrib/intarray/bench/create_test.pl
+++ b/contrib/intarray/bench/create_test.pl
@@ -5,7 +5,7 @@
# contrib/intarray/bench/create_test.pl
use strict;
-use warnings;
+use warnings FATAL => 'all';
print <<EOT;
create table message (
diff --git a/contrib/oid2name/t/001_basic.pl b/contrib/oid2name/t/001_basic.pl
index 74fe622916..ac361a0139 100644
--- a/contrib/oid2name/t/001_basic.pl
+++ b/contrib/oid2name/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/contrib/pg_prewarm/t/001_basic.pl b/contrib/pg_prewarm/t/001_basic.pl
index 6b7c869afc..b2f86c1a25 100644
--- a/contrib/pg_prewarm/t/001_basic.pl
+++ b/contrib/pg_prewarm/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/seg/seg-validate.pl b/contrib/seg/seg-validate.pl
index 67c0015e6b..b21af13140 100755
--- a/contrib/seg/seg-validate.pl
+++ b/contrib/seg/seg-validate.pl
@@ -3,7 +3,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
my $integer = '[+-]?[0-9]+';
my $real = '[+-]?[0-9]+\.[0-9]+';
diff --git a/contrib/seg/sort-segments.pl b/contrib/seg/sort-segments.pl
index 3cc21a3ba0..9bd71c0391 100755
--- a/contrib/seg/sort-segments.pl
+++ b/contrib/seg/sort-segments.pl
@@ -5,7 +5,7 @@
# this script will sort any table with the segment data type in its last column
use strict;
-use warnings;
+use warnings FATAL => 'all';
my @rows;
diff --git a/contrib/test_decoding/t/001_repl_stats.pl b/contrib/test_decoding/t/001_repl_stats.pl
index 7c2d87561c..da466bdacf 100644
--- a/contrib/test_decoding/t/001_repl_stats.pl
+++ b/contrib/test_decoding/t/001_repl_stats.pl
@@ -4,7 +4,7 @@
# Test replication statistics data in pg_stat_replication_slots is sane after
# drop replication slot and restart.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/contrib/vacuumlo/t/001_basic.pl b/contrib/vacuumlo/t/001_basic.pl
index 75067863de..4e6566d86b 100644
--- a/contrib/vacuumlo/t/001_basic.pl
+++ b/contrib/vacuumlo/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/doc/src/sgml/generate-errcodes-table.pl b/doc/src/sgml/generate-errcodes-table.pl
index 51f22bde95..e4df6d9ece 100644
--- a/doc/src/sgml/generate-errcodes-table.pl
+++ b/doc/src/sgml/generate-errcodes-table.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
print
"<!-- autogenerated from src/backend/utils/errcodes.txt, do not edit -->\n";
diff --git a/doc/src/sgml/generate-keywords-table.pl b/doc/src/sgml/generate-keywords-table.pl
index ee44edaa6c..145d131670 100644
--- a/doc/src/sgml/generate-keywords-table.pl
+++ b/doc/src/sgml/generate-keywords-table.pl
@@ -5,7 +5,7 @@
# Copyright (c) 2019-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
my @sql_versions = reverse sort ('1992', '2016', '2023');
diff --git a/doc/src/sgml/mk_feature_tables.pl b/doc/src/sgml/mk_feature_tables.pl
index 824be729a0..69b1d3a1a7 100644
--- a/doc/src/sgml/mk_feature_tables.pl
+++ b/doc/src/sgml/mk_feature_tables.pl
@@ -3,7 +3,7 @@
# doc/src/sgml/mk_feature_tables.pl
use strict;
-use warnings;
+use warnings FATAL => 'all';
my $yesno = $ARGV[0];
diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm
index b15f513183..4f1e9b5181 100644
--- a/src/backend/catalog/Catalog.pm
+++ b/src/backend/catalog/Catalog.pm
@@ -14,7 +14,7 @@
package Catalog;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Compare;
diff --git a/src/backend/catalog/genbki.pl b/src/backend/catalog/genbki.pl
index 4a7205472c..dc6f13a89b 100644
--- a/src/backend/catalog/genbki.pl
+++ b/src/backend/catalog/genbki.pl
@@ -14,7 +14,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
use FindBin;
diff --git a/src/backend/nodes/gen_node_support.pl b/src/backend/nodes/gen_node_support.pl
index 72c7963578..c7091d6bf2 100644
--- a/src/backend/nodes/gen_node_support.pl
+++ b/src/backend/nodes/gen_node_support.pl
@@ -16,7 +16,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
use Getopt::Long;
diff --git a/src/backend/parser/check_keywords.pl b/src/backend/parser/check_keywords.pl
index e9b6f40eaa..cc58ce88a9 100644
--- a/src/backend/parser/check_keywords.pl
+++ b/src/backend/parser/check_keywords.pl
@@ -7,7 +7,7 @@
# Copyright (c) 2009-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
my $gram_filename = $ARGV[0];
my $kwlist_filename = $ARGV[1];
diff --git a/src/backend/snowball/snowball_create.pl b/src/backend/snowball/snowball_create.pl
index 35d1cd9621..f1c5d160de 100644
--- a/src/backend/snowball/snowball_create.pl
+++ b/src/backend/snowball/snowball_create.pl
@@ -1,7 +1,7 @@
#!/usr/bin/perl
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $outdir_path = '';
diff --git a/src/backend/storage/lmgr/generate-lwlocknames.pl b/src/backend/storage/lmgr/generate-lwlocknames.pl
index 863c88252b..34bac0faf5 100644
--- a/src/backend/storage/lmgr/generate-lwlocknames.pl
+++ b/src/backend/storage/lmgr/generate-lwlocknames.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $output_path = '.';
diff --git a/src/backend/utils/Gen_fmgrtab.pl b/src/backend/utils/Gen_fmgrtab.pl
index 764216c56d..d0f3652136 100644
--- a/src/backend/utils/Gen_fmgrtab.pl
+++ b/src/backend/utils/Gen_fmgrtab.pl
@@ -17,7 +17,7 @@
use Catalog;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $output_path = '';
diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl
index 23eb3b1f57..8d9fd2e03f 100644
--- a/src/backend/utils/activity/generate-wait_event_types.pl
+++ b/src/backend/utils/activity/generate-wait_event_types.pl
@@ -15,7 +15,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $output_path = '.';
diff --git a/src/backend/utils/generate-errcodes.pl b/src/backend/utils/generate-errcodes.pl
index 34d0f25c23..42730e8c1a 100644
--- a/src/backend/utils/generate-errcodes.pl
+++ b/src/backend/utils/generate-errcodes.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $outfile = '';
diff --git a/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl b/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
index 4c5724b8b7..41fe881e1b 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
@@ -25,7 +25,7 @@
# # and Unicode name (not used in this script)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
index f9ff2bd3d2..a14e4ac820 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
@@ -14,7 +14,7 @@
# and the "b" field is the hex byte sequence for GB18030
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
index 2d0e05fb79..4b77ecc694 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
@@ -8,7 +8,7 @@
# "euc-jis-2004-std.txt" (http://x0213.org)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
index 4073578027..41c825dbe7 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
@@ -12,7 +12,7 @@
# organization's ftp site.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
index 9112e1cfe9..ff2a644012 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
@@ -17,7 +17,7 @@
# # and Unicode name (not used in this script)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
index 4ad17064ab..d2a3dac589 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
@@ -18,7 +18,7 @@
# # and Unicode name (not used in this script)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_GB18030.pl b/src/backend/utils/mb/Unicode/UCS_to_GB18030.pl
index 9c8a983bf7..88c9c374b2 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_GB18030.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_GB18030.pl
@@ -14,7 +14,7 @@
# and the "b" field is the hex byte sequence for GB18030
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl b/src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl
index f50baa8f1f..decf8ab443 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl
@@ -16,7 +16,7 @@
# # and Unicode name (not used in this script)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl b/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
index ed010a58fa..eb57ca89c5 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
@@ -8,7 +8,7 @@
# "sjis-0213-2004-std.txt" (http://x0213.org)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl b/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
index 0808c6836b..3ef8960ade 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
@@ -11,7 +11,7 @@
# ftp site.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_UHC.pl b/src/backend/utils/mb/Unicode/UCS_to_UHC.pl
index 207677d76d..cc8b7d804c 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_UHC.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_UHC.pl
@@ -14,7 +14,7 @@
# and the "b" field is the hex byte sequence for UHC
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/UCS_to_most.pl b/src/backend/utils/mb/Unicode/UCS_to_most.pl
index a1947308ff..2a095b7d7d 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_most.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_most.pl
@@ -16,7 +16,7 @@
# # and Unicode name (not used in this script)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use convutils;
diff --git a/src/backend/utils/mb/Unicode/convutils.pm b/src/backend/utils/mb/Unicode/convutils.pm
index 77de7b1a4d..0f55d9621b 100644
--- a/src/backend/utils/mb/Unicode/convutils.pm
+++ b/src/backend/utils/mb/Unicode/convutils.pm
@@ -6,7 +6,7 @@
package convutils;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use Exporter 'import';
diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl
index 2d7469d2fc..407ca92968 100644
--- a/src/bin/initdb/t/001_initdb.pl
+++ b/src/bin/initdb/t/001_initdb.pl
@@ -6,7 +6,7 @@
# Successful initdb consumes much time and I/O.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Fcntl ':mode';
use File::stat qw{lstat};
use PostgreSQL::Test::Cluster;
diff --git a/src/bin/pg_amcheck/t/001_basic.pl b/src/bin/pg_amcheck/t/001_basic.pl
index 1f1e33278b..9737d965aa 100644
--- a/src/bin/pg_amcheck/t/001_basic.pl
+++ b/src/bin/pg_amcheck/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_amcheck/t/002_nonesuch.pl b/src/bin/pg_amcheck/t/002_nonesuch.pl
index 99b94dd022..df7ff5397a 100644
--- a/src/bin/pg_amcheck/t/002_nonesuch.pl
+++ b/src/bin/pg_amcheck/t/002_nonesuch.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_amcheck/t/003_check.pl b/src/bin/pg_amcheck/t/003_check.pl
index d577cffa30..3727906f98 100644
--- a/src/bin/pg_amcheck/t/003_check.pl
+++ b/src/bin/pg_amcheck/t/003_check.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_amcheck/t/004_verify_heapam.pl b/src/bin/pg_amcheck/t/004_verify_heapam.pl
index 1b5027c420..0f57adabe6 100644
--- a/src/bin/pg_amcheck/t/004_verify_heapam.pl
+++ b/src/bin/pg_amcheck/t/004_verify_heapam.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_amcheck/t/005_opclass_damage.pl b/src/bin/pg_amcheck/t/005_opclass_damage.pl
index fd476179f4..f2ea5fed40 100644
--- a/src/bin/pg_amcheck/t/005_opclass_damage.pl
+++ b/src/bin/pg_amcheck/t/005_opclass_damage.pl
@@ -5,7 +5,7 @@
# presence of breaking sort order changes.
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl b/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl
index 18a82ff002..279c438345 100644
--- a/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl
+++ b/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl
index b9f5e1266b..c4c197ae1a 100644
--- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl
+++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename qw(basename dirname);
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
diff --git a/src/bin/pg_basebackup/t/011_in_place_tablespace.pl b/src/bin/pg_basebackup/t/011_in_place_tablespace.pl
index d58696e8f9..da7154362e 100644
--- a/src/bin/pg_basebackup/t/011_in_place_tablespace.pl
+++ b/src/bin/pg_basebackup/t/011_in_place_tablespace.pl
@@ -1,7 +1,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_basebackup/t/020_pg_receivewal.pl b/src/bin/pg_basebackup/t/020_pg_receivewal.pl
index 374f090a8b..765049ee96 100644
--- a/src/bin/pg_basebackup/t/020_pg_receivewal.pl
+++ b/src/bin/pg_basebackup/t/020_pg_receivewal.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/bin/pg_basebackup/t/030_pg_recvlogical.pl b/src/bin/pg_basebackup/t/030_pg_recvlogical.pl
index 62dca5b67a..1bbe88da14 100644
--- a/src/bin/pg_basebackup/t/030_pg_recvlogical.pl
+++ b/src/bin/pg_basebackup/t/030_pg_recvlogical.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/bin/pg_checksums/t/001_basic.pl b/src/bin/pg_checksums/t/001_basic.pl
index d3601a5dd8..cfc147b77c 100644
--- a/src/bin/pg_checksums/t/001_basic.pl
+++ b/src/bin/pg_checksums/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_checksums/t/002_actions.pl b/src/bin/pg_checksums/t/002_actions.pl
index 2d63182d59..207dc8ec9c 100644
--- a/src/bin/pg_checksums/t/002_actions.pl
+++ b/src/bin/pg_checksums/t/002_actions.pl
@@ -5,7 +5,7 @@
# an initialized cluster.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_config/t/001_pg_config.pl b/src/bin/pg_config/t/001_pg_config.pl
index 24acf7872b..693f7be054 100644
--- a/src/bin/pg_config/t/001_pg_config.pl
+++ b/src/bin/pg_config/t/001_pg_config.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_controldata/t/001_pg_controldata.pl b/src/bin/pg_controldata/t/001_pg_controldata.pl
index 0c641036e9..eed301030e 100644
--- a/src/bin/pg_controldata/t/001_pg_controldata.pl
+++ b/src/bin/pg_controldata/t/001_pg_controldata.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_ctl/t/001_start_stop.pl b/src/bin/pg_ctl/t/001_start_stop.pl
index f019fe1703..e072916dfa 100644
--- a/src/bin/pg_ctl/t/001_start_stop.pl
+++ b/src/bin/pg_ctl/t/001_start_stop.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_ctl/t/002_status.pl b/src/bin/pg_ctl/t/002_status.pl
index f5c50f6a7d..95bba696a4 100644
--- a/src/bin/pg_ctl/t/002_status.pl
+++ b/src/bin/pg_ctl/t/002_status.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_ctl/t/003_promote.pl b/src/bin/pg_ctl/t/003_promote.pl
index 0e83933098..f38e02f4a2 100644
--- a/src/bin/pg_ctl/t/003_promote.pl
+++ b/src/bin/pg_ctl/t/003_promote.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_ctl/t/004_logrotate.pl b/src/bin/pg_ctl/t/004_logrotate.pl
index 8d48e56ee9..912d89b5d6 100644
--- a/src/bin/pg_ctl/t/004_logrotate.pl
+++ b/src/bin/pg_ctl/t/004_logrotate.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_dump/t/001_basic.pl b/src/bin/pg_dump/t/001_basic.pl
index 8c63d31cb6..60f0e1de45 100644
--- a/src/bin/pg_dump/t/001_basic.pl
+++ b/src/bin/pg_dump/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_dump/t/002_pg_dump.pl b/src/bin/pg_dump/t/002_pg_dump.pl
index 6ad8310287..7935d1d3e5 100644
--- a/src/bin/pg_dump/t/002_pg_dump.pl
+++ b/src/bin/pg_dump/t/002_pg_dump.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_dump/t/003_pg_dump_with_server.pl b/src/bin/pg_dump/t/003_pg_dump_with_server.pl
index ab025c44a4..e21de45ba2 100644
--- a/src/bin/pg_dump/t/003_pg_dump_with_server.pl
+++ b/src/bin/pg_dump/t/003_pg_dump_with_server.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_dump/t/004_pg_dump_parallel.pl b/src/bin/pg_dump/t/004_pg_dump_parallel.pl
index c4b461ed87..c14391f58b 100644
--- a/src/bin/pg_dump/t/004_pg_dump_parallel.pl
+++ b/src/bin/pg_dump/t/004_pg_dump_parallel.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_dump/t/010_dump_connstr.pl b/src/bin/pg_dump/t/010_dump_connstr.pl
index ed86c332ef..f03e1e08cc 100644
--- a/src/bin/pg_dump/t/010_dump_connstr.pl
+++ b/src/bin/pg_dump/t/010_dump_connstr.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_resetwal/t/001_basic.pl b/src/bin/pg_resetwal/t/001_basic.pl
index 7e5efbf56b..5c2c5908e9 100644
--- a/src/bin/pg_resetwal/t/001_basic.pl
+++ b/src/bin/pg_resetwal/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_resetwal/t/002_corrupted.pl b/src/bin/pg_resetwal/t/002_corrupted.pl
index 6d19a1efd5..7cc42d70eb 100644
--- a/src/bin/pg_resetwal/t/002_corrupted.pl
+++ b/src/bin/pg_resetwal/t/002_corrupted.pl
@@ -4,7 +4,7 @@
# Tests for handling a corrupted pg_control
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_rewind/t/001_basic.pl b/src/bin/pg_rewind/t/001_basic.pl
index c7b48255a7..842f6c7fbe 100644
--- a/src/bin/pg_rewind/t/001_basic.pl
+++ b/src/bin/pg_rewind/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/002_databases.pl b/src/bin/pg_rewind/t/002_databases.pl
index 0d480aedb4..313b2486e1 100644
--- a/src/bin/pg_rewind/t/002_databases.pl
+++ b/src/bin/pg_rewind/t/002_databases.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/003_extrafiles.pl b/src/bin/pg_rewind/t/003_extrafiles.pl
index fd2bee5d20..6e040239c4 100644
--- a/src/bin/pg_rewind/t/003_extrafiles.pl
+++ b/src/bin/pg_rewind/t/003_extrafiles.pl
@@ -4,7 +4,7 @@
# Test how pg_rewind reacts to extra files and directories in the data dirs.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl b/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl
index 5fb7fa9077..7d1bb65cae 100644
--- a/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl
+++ b/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl
@@ -5,7 +5,7 @@
# Test pg_rewind when the target's pg_wal directory is a symlink.
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Copy;
use File::Path qw(rmtree);
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_rewind/t/005_same_timeline.pl b/src/bin/pg_rewind/t/005_same_timeline.pl
index b4ef05e560..57e04b0ce2 100644
--- a/src/bin/pg_rewind/t/005_same_timeline.pl
+++ b/src/bin/pg_rewind/t/005_same_timeline.pl
@@ -6,7 +6,7 @@
# on the same timeline runs successfully.
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/006_options.pl b/src/bin/pg_rewind/t/006_options.pl
index 4b6e39a47c..c346b370a6 100644
--- a/src/bin/pg_rewind/t/006_options.pl
+++ b/src/bin/pg_rewind/t/006_options.pl
@@ -5,7 +5,7 @@
# Test checking options of pg_rewind.
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/007_standby_source.pl b/src/bin/pg_rewind/t/007_standby_source.pl
index 4fd1ed001c..fab84a4bbb 100644
--- a/src/bin/pg_rewind/t/007_standby_source.pl
+++ b/src/bin/pg_rewind/t/007_standby_source.pl
@@ -25,7 +25,7 @@
# as is.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/008_min_recovery_point.pl b/src/bin/pg_rewind/t/008_min_recovery_point.pl
index d4c89451e6..287e4555b5 100644
--- a/src/bin/pg_rewind/t/008_min_recovery_point.pl
+++ b/src/bin/pg_rewind/t/008_min_recovery_point.pl
@@ -31,7 +31,7 @@
# nodes.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/009_growing_files.pl b/src/bin/pg_rewind/t/009_growing_files.pl
index cf60a04ae7..016f7736e7 100644
--- a/src/bin/pg_rewind/t/009_growing_files.pl
+++ b/src/bin/pg_rewind/t/009_growing_files.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_rewind/t/RewindTest.pm b/src/bin/pg_rewind/t/RewindTest.pm
index 8fbbd521cb..23144f19e8 100644
--- a/src/bin/pg_rewind/t/RewindTest.pm
+++ b/src/bin/pg_rewind/t/RewindTest.pm
@@ -32,7 +32,7 @@ package RewindTest;
# to run psql against the primary and standby servers, respectively.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use Exporter 'import';
diff --git a/src/bin/pg_test_fsync/t/001_basic.pl b/src/bin/pg_test_fsync/t/001_basic.pl
index 401ad2c07c..135e68b9ba 100644
--- a/src/bin/pg_test_fsync/t/001_basic.pl
+++ b/src/bin/pg_test_fsync/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_test_timing/t/001_basic.pl b/src/bin/pg_test_timing/t/001_basic.pl
index 43bc68cb37..628a603f85 100644
--- a/src/bin/pg_test_timing/t/001_basic.pl
+++ b/src/bin/pg_test_timing/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_upgrade/t/001_basic.pl b/src/bin/pg_upgrade/t/001_basic.pl
index ceac4e0851..6f7117cec6 100644
--- a/src/bin/pg_upgrade/t/001_basic.pl
+++ b/src/bin/pg_upgrade/t/001_basic.pl
@@ -1,7 +1,7 @@
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_upgrade/t/002_pg_upgrade.pl b/src/bin/pg_upgrade/t/002_pg_upgrade.pl
index a5688a1cf2..a484064b54 100644
--- a/src/bin/pg_upgrade/t/002_pg_upgrade.pl
+++ b/src/bin/pg_upgrade/t/002_pg_upgrade.pl
@@ -2,7 +2,7 @@
# Set of tests for pg_upgrade, including cross-version checks.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Cwd qw(abs_path);
use File::Basename qw(dirname);
diff --git a/src/bin/pg_verifybackup/t/001_basic.pl b/src/bin/pg_verifybackup/t/001_basic.pl
index 73e8663238..f1127c827a 100644
--- a/src/bin/pg_verifybackup/t/001_basic.pl
+++ b/src/bin/pg_verifybackup/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_verifybackup/t/002_algorithm.pl b/src/bin/pg_verifybackup/t/002_algorithm.pl
index 5b02ea4d55..c9f0c10f83 100644
--- a/src/bin/pg_verifybackup/t/002_algorithm.pl
+++ b/src/bin/pg_verifybackup/t/002_algorithm.pl
@@ -4,7 +4,7 @@
# Verify that we can take and verify backups with various checksum types.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_verifybackup/t/003_corruption.pl b/src/bin/pg_verifybackup/t/003_corruption.pl
index 4cc3dd05e3..273a6ff77b 100644
--- a/src/bin/pg_verifybackup/t/003_corruption.pl
+++ b/src/bin/pg_verifybackup/t/003_corruption.pl
@@ -4,7 +4,7 @@
# Verify that various forms of corruption are detected by pg_verifybackup.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_verifybackup/t/004_options.pl b/src/bin/pg_verifybackup/t/004_options.pl
index 2aa8352f00..f6b092b58a 100644
--- a/src/bin/pg_verifybackup/t/004_options.pl
+++ b/src/bin/pg_verifybackup/t/004_options.pl
@@ -4,7 +4,7 @@
# Verify the behavior of assorted pg_verifybackup options.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_verifybackup/t/005_bad_manifest.pl b/src/bin/pg_verifybackup/t/005_bad_manifest.pl
index c94fdd5df8..d481ea1f02 100644
--- a/src/bin/pg_verifybackup/t/005_bad_manifest.pl
+++ b/src/bin/pg_verifybackup/t/005_bad_manifest.pl
@@ -5,7 +5,7 @@
# problems.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_verifybackup/t/006_encoding.pl b/src/bin/pg_verifybackup/t/006_encoding.pl
index 0b37bda20c..3831a28272 100644
--- a/src/bin/pg_verifybackup/t/006_encoding.pl
+++ b/src/bin/pg_verifybackup/t/006_encoding.pl
@@ -4,7 +4,7 @@
# Verify that pg_verifybackup handles hex-encoded filenames correctly.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_verifybackup/t/007_wal.pl b/src/bin/pg_verifybackup/t/007_wal.pl
index 89f96f85db..ea3d60b242 100644
--- a/src/bin/pg_verifybackup/t/007_wal.pl
+++ b/src/bin/pg_verifybackup/t/007_wal.pl
@@ -4,7 +4,7 @@
# Test pg_verifybackup's WAL verification.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_verifybackup/t/008_untar.pl b/src/bin/pg_verifybackup/t/008_untar.pl
index 1a783d1188..7f0f2245f6 100644
--- a/src/bin/pg_verifybackup/t/008_untar.pl
+++ b/src/bin/pg_verifybackup/t/008_untar.pl
@@ -6,7 +6,7 @@
# format.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_verifybackup/t/009_extract.pl b/src/bin/pg_verifybackup/t/009_extract.pl
index f4d5378555..e8e4f60768 100644
--- a/src/bin/pg_verifybackup/t/009_extract.pl
+++ b/src/bin/pg_verifybackup/t/009_extract.pl
@@ -5,7 +5,7 @@
# a backup which was compressed by the server.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_verifybackup/t/010_client_untar.pl b/src/bin/pg_verifybackup/t/010_client_untar.pl
index 44d83e777f..64907f0cae 100644
--- a/src/bin/pg_verifybackup/t/010_client_untar.pl
+++ b/src/bin/pg_verifybackup/t/010_client_untar.pl
@@ -5,7 +5,7 @@
# backup that didn't start out in plain format.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Path qw(rmtree);
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pg_waldump/t/001_basic.pl b/src/bin/pg_waldump/t/001_basic.pl
index 029a0d0521..b805283385 100644
--- a/src/bin/pg_waldump/t/001_basic.pl
+++ b/src/bin/pg_waldump/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/pg_waldump/t/002_save_fullpage.pl b/src/bin/pg_waldump/t/002_save_fullpage.pl
index f0725805f2..ed6726c486 100644
--- a/src/bin/pg_waldump/t/002_save_fullpage.pl
+++ b/src/bin/pg_waldump/t/002_save_fullpage.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::RecursiveCopy;
diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl
index 142f966300..3f4d2fec7c 100644
--- a/src/bin/pgbench/t/001_pgbench_with_server.pl
+++ b/src/bin/pgbench/t/001_pgbench_with_server.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/pgbench/t/002_pgbench_no_server.pl b/src/bin/pgbench/t/002_pgbench_no_server.pl
index 0ec54fbb03..1596b256dd 100644
--- a/src/bin/pgbench/t/002_pgbench_no_server.pl
+++ b/src/bin/pgbench/t/002_pgbench_no_server.pl
@@ -6,7 +6,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/bin/psql/create_help.pl b/src/bin/psql/create_help.pl
index 0809db4151..def02465d5 100644
--- a/src/bin/psql/create_help.pl
+++ b/src/bin/psql/create_help.pl
@@ -20,7 +20,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $docdir = '';
diff --git a/src/bin/psql/t/001_basic.pl b/src/bin/psql/t/001_basic.pl
index 9ac27db212..b7bc73a197 100644
--- a/src/bin/psql/t/001_basic.pl
+++ b/src/bin/psql/t/001_basic.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use locale;
use PostgreSQL::Test::Cluster;
diff --git a/src/bin/psql/t/010_tab_completion.pl b/src/bin/psql/t/010_tab_completion.pl
index 4cd0fa4680..44fdd056fa 100644
--- a/src/bin/psql/t/010_tab_completion.pl
+++ b/src/bin/psql/t/010_tab_completion.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/psql/t/020_cancel.pl b/src/bin/psql/t/020_cancel.pl
index 0765d82b92..7b51b77075 100644
--- a/src/bin/psql/t/020_cancel.pl
+++ b/src/bin/psql/t/020_cancel.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/010_clusterdb.pl b/src/bin/scripts/t/010_clusterdb.pl
index 715207fb4d..60792c2eea 100644
--- a/src/bin/scripts/t/010_clusterdb.pl
+++ b/src/bin/scripts/t/010_clusterdb.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/011_clusterdb_all.pl b/src/bin/scripts/t/011_clusterdb_all.pl
index 35f0b18f50..26315d0a51 100644
--- a/src/bin/scripts/t/011_clusterdb_all.pl
+++ b/src/bin/scripts/t/011_clusterdb_all.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/020_createdb.pl b/src/bin/scripts/t/020_createdb.pl
index 40291924e5..8815477672 100644
--- a/src/bin/scripts/t/020_createdb.pl
+++ b/src/bin/scripts/t/020_createdb.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/040_createuser.pl b/src/bin/scripts/t/040_createuser.pl
index 3290e30c88..75dd7331ba 100644
--- a/src/bin/scripts/t/040_createuser.pl
+++ b/src/bin/scripts/t/040_createuser.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/050_dropdb.pl b/src/bin/scripts/t/050_dropdb.pl
index 3ed670bb0a..e5acab9a38 100644
--- a/src/bin/scripts/t/050_dropdb.pl
+++ b/src/bin/scripts/t/050_dropdb.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/070_dropuser.pl b/src/bin/scripts/t/070_dropuser.pl
index 95c24c4f30..74947e8ca7 100644
--- a/src/bin/scripts/t/070_dropuser.pl
+++ b/src/bin/scripts/t/070_dropuser.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/080_pg_isready.pl b/src/bin/scripts/t/080_pg_isready.pl
index 8f53aef573..9784006465 100644
--- a/src/bin/scripts/t/080_pg_isready.pl
+++ b/src/bin/scripts/t/080_pg_isready.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/090_reindexdb.pl b/src/bin/scripts/t/090_reindexdb.pl
index b663d0e741..7ed71849c3 100644
--- a/src/bin/scripts/t/090_reindexdb.pl
+++ b/src/bin/scripts/t/090_reindexdb.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/091_reindexdb_all.pl b/src/bin/scripts/t/091_reindexdb_all.pl
index 7f3e081ceb..fdb198b4e7 100644
--- a/src/bin/scripts/t/091_reindexdb_all.pl
+++ b/src/bin/scripts/t/091_reindexdb_all.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/bin/scripts/t/100_vacuumdb.pl b/src/bin/scripts/t/100_vacuumdb.pl
index eccfcc54a1..17f911efa2 100644
--- a/src/bin/scripts/t/100_vacuumdb.pl
+++ b/src/bin/scripts/t/100_vacuumdb.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/bin/scripts/t/101_vacuumdb_all.pl b/src/bin/scripts/t/101_vacuumdb_all.pl
index 8d7c3ab014..673a94d005 100644
--- a/src/bin/scripts/t/101_vacuumdb_all.pl
+++ b/src/bin/scripts/t/101_vacuumdb_all.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/bin/scripts/t/102_vacuumdb_stages.pl b/src/bin/scripts/t/102_vacuumdb_stages.pl
index 64d7ed1575..c1174fd5e8 100644
--- a/src/bin/scripts/t/102_vacuumdb_stages.pl
+++ b/src/bin/scripts/t/102_vacuumdb_stages.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/bin/scripts/t/200_connstr.pl b/src/bin/scripts/t/200_connstr.pl
index 53c5e21ab2..4f3d9ffe98 100644
--- a/src/bin/scripts/t/200_connstr.pl
+++ b/src/bin/scripts/t/200_connstr.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/common/unicode/generate-norm_test_table.pl b/src/common/unicode/generate-norm_test_table.pl
index 3434f7e263..fb1718047f 100644
--- a/src/common/unicode/generate-norm_test_table.pl
+++ b/src/common/unicode/generate-norm_test_table.pl
@@ -8,7 +8,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
diff --git a/src/common/unicode/generate-unicode_east_asian_fw_table.pl b/src/common/unicode/generate-unicode_east_asian_fw_table.pl
index 2b2df375ed..6037fdae2c 100644
--- a/src/common/unicode/generate-unicode_east_asian_fw_table.pl
+++ b/src/common/unicode/generate-unicode_east_asian_fw_table.pl
@@ -7,7 +7,7 @@
# Copyright (c) 2019-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
my $range_start = undef;
my ($first, $last);
diff --git a/src/common/unicode/generate-unicode_nonspacing_table.pl b/src/common/unicode/generate-unicode_nonspacing_table.pl
index ae86e82922..521b939943 100644
--- a/src/common/unicode/generate-unicode_nonspacing_table.pl
+++ b/src/common/unicode/generate-unicode_nonspacing_table.pl
@@ -7,7 +7,7 @@
# Copyright (c) 2019-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
my $range_start = undef;
my $codepoint;
diff --git a/src/common/unicode/generate-unicode_norm_table.pl b/src/common/unicode/generate-unicode_norm_table.pl
index d5914118ab..65b001d065 100644
--- a/src/common/unicode/generate-unicode_norm_table.pl
+++ b/src/common/unicode/generate-unicode_norm_table.pl
@@ -9,7 +9,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
use FindBin;
diff --git a/src/common/unicode/generate-unicode_normprops_table.pl b/src/common/unicode/generate-unicode_normprops_table.pl
index 1b7473180b..f831c2d0d5 100644
--- a/src/common/unicode/generate-unicode_normprops_table.pl
+++ b/src/common/unicode/generate-unicode_normprops_table.pl
@@ -7,7 +7,7 @@
# Copyright (c) 2020-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use lib "$FindBin::RealBin/../../tools/";
diff --git a/src/include/catalog/duplicate_oids b/src/include/catalog/duplicate_oids
index eb5c3fb084..1830b95b0a 100755
--- a/src/include/catalog/duplicate_oids
+++ b/src/include/catalog/duplicate_oids
@@ -17,7 +17,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
# Must run in src/include/catalog
use FindBin;
diff --git a/src/include/catalog/reformat_dat_file.pl b/src/include/catalog/reformat_dat_file.pl
index 725117d846..b5235c24d3 100755
--- a/src/include/catalog/reformat_dat_file.pl
+++ b/src/include/catalog/reformat_dat_file.pl
@@ -18,7 +18,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use Getopt::Long;
diff --git a/src/include/catalog/renumber_oids.pl b/src/include/catalog/renumber_oids.pl
index ec09584959..a418b33d58 100755
--- a/src/include/catalog/renumber_oids.pl
+++ b/src/include/catalog/renumber_oids.pl
@@ -16,7 +16,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use Getopt::Long;
diff --git a/src/include/catalog/unused_oids b/src/include/catalog/unused_oids
index ccf3c3f781..f5f0c57b74 100755
--- a/src/include/catalog/unused_oids
+++ b/src/include/catalog/unused_oids
@@ -19,7 +19,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
# Must run in src/include/catalog
use FindBin;
diff --git a/src/interfaces/ecpg/preproc/check_rules.pl b/src/interfaces/ecpg/preproc/check_rules.pl
index 5e823fa30e..6417ee7315 100644
--- a/src/interfaces/ecpg/preproc/check_rules.pl
+++ b/src/interfaces/ecpg/preproc/check_rules.pl
@@ -17,7 +17,7 @@
# Then it checks to make sure each rule in ecpg.addons was found in gram.y
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $srcdir = '.';
diff --git a/src/interfaces/ecpg/preproc/parse.pl b/src/interfaces/ecpg/preproc/parse.pl
index 7574fc3110..b0caeb356f 100644
--- a/src/interfaces/ecpg/preproc/parse.pl
+++ b/src/interfaces/ecpg/preproc/parse.pl
@@ -13,7 +13,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $srcdir = '.';
diff --git a/src/interfaces/libpq/t/001_uri.pl b/src/interfaces/libpq/t/001_uri.pl
index fd062a95c5..cd876e758f 100644
--- a/src/interfaces/libpq/t/001_uri.pl
+++ b/src/interfaces/libpq/t/001_uri.pl
@@ -1,6 +1,6 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/interfaces/libpq/t/002_api.pl b/src/interfaces/libpq/t/002_api.pl
index 8b43a984fb..9d376bcaa2 100644
--- a/src/interfaces/libpq/t/002_api.pl
+++ b/src/interfaces/libpq/t/002_api.pl
@@ -1,6 +1,6 @@
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/interfaces/libpq/t/003_load_balance_host_list.pl b/src/interfaces/libpq/t/003_load_balance_host_list.pl
index 21c3b8dd33..c6fe049fe5 100644
--- a/src/interfaces/libpq/t/003_load_balance_host_list.pl
+++ b/src/interfaces/libpq/t/003_load_balance_host_list.pl
@@ -1,6 +1,6 @@
# Copyright (c) 2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Config;
use PostgreSQL::Test::Utils;
use PostgreSQL::Test::Cluster;
diff --git a/src/interfaces/libpq/t/004_load_balance_dns.pl b/src/interfaces/libpq/t/004_load_balance_dns.pl
index 875070e212..81cf628ac7 100644
--- a/src/interfaces/libpq/t/004_load_balance_dns.pl
+++ b/src/interfaces/libpq/t/004_load_balance_dns.pl
@@ -1,6 +1,6 @@
# Copyright (c) 2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Config;
use PostgreSQL::Test::Utils;
use PostgreSQL::Test::Cluster;
diff --git a/src/pl/plperl/plc_perlboot.pl b/src/pl/plperl/plc_perlboot.pl
index 13298013d3..90c1b7e667 100644
--- a/src/pl/plperl/plc_perlboot.pl
+++ b/src/pl/plperl/plc_perlboot.pl
@@ -4,7 +4,7 @@
# src/pl/plperl/plc_perlboot.pl
use strict;
-use warnings;
+use warnings FATAL => 'all';
use vars qw(%_SHARED $_TD);
@@ -58,7 +58,7 @@ sub ::encode_array_constructor
package PostgreSQL::InServer; ## no critic (RequireFilenameMatchesPackage)
#>>>
use strict;
- use warnings;
+ use warnings FATAL => 'all';
sub plperl_warn
{
@@ -107,7 +107,7 @@ sub ::encode_array_constructor
package PostgreSQL::InServer::ARRAY;
use strict;
- use warnings;
+ use warnings FATAL => 'all';
use overload
'""' => \&to_str,
diff --git a/src/pl/plperl/plperl_opmask.pl b/src/pl/plperl/plperl_opmask.pl
index 26ac717770..09dc72d273 100644
--- a/src/pl/plperl/plperl_opmask.pl
+++ b/src/pl/plperl/plperl_opmask.pl
@@ -3,7 +3,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Opcode qw(opset opset_to_ops opdesc);
diff --git a/src/pl/plperl/text2macro.pl b/src/pl/plperl/text2macro.pl
index 933632c0df..7a41da84c6 100644
--- a/src/pl/plperl/text2macro.pl
+++ b/src/pl/plperl/text2macro.pl
@@ -27,7 +27,7 @@ =head1 DESCRIPTION
=cut
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
diff --git a/src/pl/plpgsql/src/generate-plerrcodes.pl b/src/pl/plpgsql/src/generate-plerrcodes.pl
index f4fd376ef9..03ce58b94e 100644
--- a/src/pl/plpgsql/src/generate-plerrcodes.pl
+++ b/src/pl/plpgsql/src/generate-plerrcodes.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
print
"/* autogenerated from src/backend/utils/errcodes.txt, do not edit */\n";
diff --git a/src/pl/plpython/generate-spiexceptions.pl b/src/pl/plpython/generate-spiexceptions.pl
index 61b37c3541..090e20472c 100644
--- a/src/pl/plpython/generate-spiexceptions.pl
+++ b/src/pl/plpython/generate-spiexceptions.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
print
"/* autogenerated from src/backend/utils/errcodes.txt, do not edit */\n";
diff --git a/src/pl/tcl/generate-pltclerrcodes.pl b/src/pl/tcl/generate-pltclerrcodes.pl
index 9c2309108c..df1ba7d4d4 100644
--- a/src/pl/tcl/generate-pltclerrcodes.pl
+++ b/src/pl/tcl/generate-pltclerrcodes.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2000-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
print
"/* autogenerated from src/backend/utils/errcodes.txt, do not edit */\n";
diff --git a/src/test/authentication/t/001_password.pl b/src/test/authentication/t/001_password.pl
index 12552837a8..56b3cd0ab7 100644
--- a/src/test/authentication/t/001_password.pl
+++ b/src/test/authentication/t/001_password.pl
@@ -9,7 +9,7 @@
# This test can only run with Unix-domain sockets.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/authentication/t/002_saslprep.pl b/src/test/authentication/t/002_saslprep.pl
index ef15831166..c3a73dfda1 100644
--- a/src/test/authentication/t/002_saslprep.pl
+++ b/src/test/authentication/t/002_saslprep.pl
@@ -6,7 +6,7 @@
# This test can only run with Unix-domain sockets.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/authentication/t/003_peer.pl b/src/test/authentication/t/003_peer.pl
index eacff2b52a..96217b6661 100644
--- a/src/test/authentication/t/003_peer.pl
+++ b/src/test/authentication/t/003_peer.pl
@@ -6,7 +6,7 @@
# and is only able to run with Unix-domain sockets.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/authentication/t/004_file_inclusion.pl b/src/test/authentication/t/004_file_inclusion.pl
index 55d28ad586..364bba81ca 100644
--- a/src/test/authentication/t/004_file_inclusion.pl
+++ b/src/test/authentication/t/004_file_inclusion.pl
@@ -5,7 +5,7 @@
# only run with Unix-domain sockets.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use File::Basename qw(basename);
diff --git a/src/test/authentication/t/005_sspi.pl b/src/test/authentication/t/005_sspi.pl
index 37fd5bc243..bdc829dcf8 100644
--- a/src/test/authentication/t/005_sspi.pl
+++ b/src/test/authentication/t/005_sspi.pl
@@ -4,7 +4,7 @@
# Tests targeting SSPI on Windows.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/icu/t/010_database.pl b/src/test/icu/t/010_database.pl
index 0e9446cebe..083c6f26e2 100644
--- a/src/test/icu/t/010_database.pl
+++ b/src/test/icu/t/010_database.pl
@@ -1,7 +1,7 @@
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl
index 0deb9bffc8..e9ceb712f5 100644
--- a/src/test/kerberos/t/001_auth.pl
+++ b/src/test/kerberos/t/001_auth.pl
@@ -18,7 +18,7 @@
# See the README for additional information.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/test/ldap/LdapServer.pm b/src/test/ldap/LdapServer.pm
index a4c1a1843c..f63844d60a 100644
--- a/src/test/ldap/LdapServer.pm
+++ b/src/test/ldap/LdapServer.pm
@@ -46,7 +46,7 @@ LdapServer - class for an LDAP server for testing pg_hba.conf authentication
package LdapServer;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl
index 3e113fd6eb..5e569c4db9 100644
--- a/src/test/ldap/t/001_auth.pl
+++ b/src/test/ldap/t/001_auth.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use lib "$FindBin::RealBin/..";
diff --git a/src/test/ldap/t/002_bindpasswd.pl b/src/test/ldap/t/002_bindpasswd.pl
index bcd4aa2b74..204ed39059 100644
--- a/src/test/ldap/t/002_bindpasswd.pl
+++ b/src/test/ldap/t/002_bindpasswd.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use lib "$FindBin::RealBin/..";
diff --git a/src/test/locale/sort-test.pl b/src/test/locale/sort-test.pl
index 8bed29b3ad..47efa8f8bb 100755
--- a/src/test/locale/sort-test.pl
+++ b/src/test/locale/sort-test.pl
@@ -3,7 +3,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use locale;
open(my $in_fh, '<', $ARGV[0]) || die;
diff --git a/src/test/modules/brin/t/01_workitems.pl b/src/test/modules/brin/t/01_workitems.pl
index 5f71074231..376c3a43f1 100644
--- a/src/test/modules/brin/t/01_workitems.pl
+++ b/src/test/modules/brin/t/01_workitems.pl
@@ -4,7 +4,7 @@
# Verify that work items work correctly
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/brin/t/02_wal_consistency.pl b/src/test/modules/brin/t/02_wal_consistency.pl
index 8b2b244feb..a588a28669 100644
--- a/src/test/modules/brin/t/02_wal_consistency.pl
+++ b/src/test/modules/brin/t/02_wal_consistency.pl
@@ -3,7 +3,7 @@
# Verify WAL consistency
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/commit_ts/t/001_base.pl b/src/test/modules/commit_ts/t/001_base.pl
index ae3fc5f52d..d6ea0c4c69 100644
--- a/src/test/modules/commit_ts/t/001_base.pl
+++ b/src/test/modules/commit_ts/t/001_base.pl
@@ -4,7 +4,7 @@
# Single-node test: value can be set, and is still present after recovery
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/commit_ts/t/002_standby.pl b/src/test/modules/commit_ts/t/002_standby.pl
index 59cc2b1244..e843578ddb 100644
--- a/src/test/modules/commit_ts/t/002_standby.pl
+++ b/src/test/modules/commit_ts/t/002_standby.pl
@@ -4,7 +4,7 @@
# Test simple scenario involving a standby
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/commit_ts/t/003_standby_2.pl b/src/test/modules/commit_ts/t/003_standby_2.pl
index 5af511e369..b38c3c0f26 100644
--- a/src/test/modules/commit_ts/t/003_standby_2.pl
+++ b/src/test/modules/commit_ts/t/003_standby_2.pl
@@ -4,7 +4,7 @@
# Test primary/standby scenario where the track_commit_timestamp GUC is
# repeatedly toggled on and off.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/commit_ts/t/004_restart.pl b/src/test/modules/commit_ts/t/004_restart.pl
index 8fe4bedb14..399268ebee 100644
--- a/src/test/modules/commit_ts/t/004_restart.pl
+++ b/src/test/modules/commit_ts/t/004_restart.pl
@@ -3,7 +3,7 @@
# Testing of commit timestamps preservation across restarts
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/ldap_password_func/t/001_mutated_bindpasswd.pl b/src/test/modules/ldap_password_func/t/001_mutated_bindpasswd.pl
index c96c8d7a4d..b7ac65091a 100644
--- a/src/test/modules/ldap_password_func/t/001_mutated_bindpasswd.pl
+++ b/src/test/modules/ldap_password_func/t/001_mutated_bindpasswd.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2022, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Copy;
use FindBin;
use PostgreSQL::Test::Utils;
diff --git a/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl b/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl
index 056fa5c6d2..71a11ddf25 100644
--- a/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl
+++ b/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/modules/ssl_passphrase_callback/t/001_testfunc.pl b/src/test/modules/ssl_passphrase_callback/t/001_testfunc.pl
index 2b2c144ee2..c63e7bd394 100644
--- a/src/test/modules/ssl_passphrase_callback/t/001_testfunc.pl
+++ b/src/test/modules/ssl_passphrase_callback/t/001_testfunc.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Copy;
diff --git a/src/test/modules/test_custom_rmgrs/t/001_basic.pl b/src/test/modules/test_custom_rmgrs/t/001_basic.pl
index 50655d3788..dc3d830299 100644
--- a/src/test/modules/test_custom_rmgrs/t/001_basic.pl
+++ b/src/test/modules/test_custom_rmgrs/t/001_basic.pl
@@ -1,7 +1,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/modules/test_misc/t/001_constraint_validation.pl b/src/test/modules/test_misc/t/001_constraint_validation.pl
index 5a07a5d36d..4d0ea0c59d 100644
--- a/src/test/modules/test_misc/t/001_constraint_validation.pl
+++ b/src/test/modules/test_misc/t/001_constraint_validation.pl
@@ -4,7 +4,7 @@
# Verify that ALTER TABLE optimizes certain operations as expected
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/test_misc/t/002_tablespace.pl b/src/test/modules/test_misc/t/002_tablespace.pl
index f774a021a8..220e2b073d 100644
--- a/src/test/modules/test_misc/t/002_tablespace.pl
+++ b/src/test/modules/test_misc/t/002_tablespace.pl
@@ -3,7 +3,7 @@
# regression tests.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/test_misc/t/003_check_guc.pl b/src/test/modules/test_misc/t/003_check_guc.pl
index 4fd6d03b9e..5dab498c22 100644
--- a/src/test/modules/test_misc/t/003_check_guc.pl
+++ b/src/test/modules/test_misc/t/003_check_guc.pl
@@ -2,7 +2,7 @@
# postgresql.conf.sample.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/modules/test_misc/t/004_io_direct.pl b/src/test/modules/test_misc/t/004_io_direct.pl
index dddcfb1aa9..e3f0966b8d 100644
--- a/src/test/modules/test_misc/t/004_io_direct.pl
+++ b/src/test/modules/test_misc/t/004_io_direct.pl
@@ -1,7 +1,7 @@
# Very simple exercise of direct I/O GUC.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Fcntl;
use IO::File;
use PostgreSQL::Test::Cluster;
diff --git a/src/test/modules/test_pg_dump/t/001_base.pl b/src/test/modules/test_pg_dump/t/001_base.pl
index d00c3544e9..bf7f92d13f 100644
--- a/src/test/modules/test_pg_dump/t/001_base.pl
+++ b/src/test/modules/test_pg_dump/t/001_base.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/modules/worker_spi/t/001_worker_spi.pl b/src/test/modules/worker_spi/t/001_worker_spi.pl
index 2965acd789..312359dd4b 100644
--- a/src/test/modules/worker_spi/t/001_worker_spi.pl
+++ b/src/test/modules/worker_spi/t/001_worker_spi.pl
@@ -3,7 +3,7 @@
# Test worker_spi module.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm b/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm
index e34dfb9243..1b1078f8c6 100644
--- a/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm
+++ b/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm
@@ -30,7 +30,7 @@ compare the results of cross-version upgrade tests.
package PostgreSQL::Test::AdjustUpgrade;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Exporter 'import';
use PostgreSQL::Version;
diff --git a/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm b/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm
index 924b57ab21..bd41c8bd10 100644
--- a/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm
+++ b/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm
@@ -54,7 +54,7 @@ initiated by PostgreSQL::Test::Cluster.
package PostgreSQL::Test::BackgroundPsql;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use Config;
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm
index 5e161dbee6..3fa679ff97 100644
--- a/src/test/perl/PostgreSQL/Test/Cluster.pm
+++ b/src/test/perl/PostgreSQL/Test/Cluster.pm
@@ -97,7 +97,7 @@ The IPC::Run module is required.
package PostgreSQL::Test::Cluster;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use Config;
diff --git a/src/test/perl/PostgreSQL/Test/RecursiveCopy.pm b/src/test/perl/PostgreSQL/Test/RecursiveCopy.pm
index 15964e6217..1c79bfabd1 100644
--- a/src/test/perl/PostgreSQL/Test/RecursiveCopy.pm
+++ b/src/test/perl/PostgreSQL/Test/RecursiveCopy.pm
@@ -19,7 +19,7 @@ PostgreSQL::Test::RecursiveCopy::copypath($from, $to);
package PostgreSQL::Test::RecursiveCopy;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use File::Basename;
diff --git a/src/test/perl/PostgreSQL/Test/SimpleTee.pm b/src/test/perl/PostgreSQL/Test/SimpleTee.pm
index 82099bf503..9258b7c4cd 100644
--- a/src/test/perl/PostgreSQL/Test/SimpleTee.pm
+++ b/src/test/perl/PostgreSQL/Test/SimpleTee.pm
@@ -17,7 +17,7 @@
package PostgreSQL::Test::SimpleTee;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Time::HiRes qw(time);
diff --git a/src/test/perl/PostgreSQL/Test/Utils.pm b/src/test/perl/PostgreSQL/Test/Utils.pm
index 617caa022f..ca13574966 100644
--- a/src/test/perl/PostgreSQL/Test/Utils.pm
+++ b/src/test/perl/PostgreSQL/Test/Utils.pm
@@ -42,7 +42,7 @@ aimed at controlling command execution, logging and test functions.
package PostgreSQL::Test::Utils;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use Config;
diff --git a/src/test/perl/PostgreSQL/Version.pm b/src/test/perl/PostgreSQL/Version.pm
index 3705c1bdaf..dadc90fecc 100644
--- a/src/test/perl/PostgreSQL/Version.pm
+++ b/src/test/perl/PostgreSQL/Version.pm
@@ -45,7 +45,7 @@ of common version formats and comparison operations.
package PostgreSQL::Version;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Scalar::Util qw(blessed);
diff --git a/src/test/perl/README b/src/test/perl/README
index 8fb44184b9..af037a8091 100644
--- a/src/test/perl/README
+++ b/src/test/perl/README
@@ -58,7 +58,7 @@ order.
Each test script should begin with:
use strict;
- use warnings;
+ use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/001_stream_rep.pl b/src/test/recovery/t/001_stream_rep.pl
index 0c72ba0944..3526f2d554 100644
--- a/src/test/recovery/t/001_stream_rep.pl
+++ b/src/test/recovery/t/001_stream_rep.pl
@@ -3,7 +3,7 @@
# Minimal test testing streaming replication
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/002_archiving.pl b/src/test/recovery/t/002_archiving.pl
index 48e00f9e29..c4d0a2a81f 100644
--- a/src/test/recovery/t/002_archiving.pl
+++ b/src/test/recovery/t/002_archiving.pl
@@ -3,7 +3,7 @@
# test for archiving with hot standby
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/003_recovery_targets.pl b/src/test/recovery/t/003_recovery_targets.pl
index e882ce2077..1b63116ceb 100644
--- a/src/test/recovery/t/003_recovery_targets.pl
+++ b/src/test/recovery/t/003_recovery_targets.pl
@@ -3,7 +3,7 @@
# Test for recovery targets: name, timestamp, XID
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/004_timeline_switch.pl b/src/test/recovery/t/004_timeline_switch.pl
index edaef91845..2500201b99 100644
--- a/src/test/recovery/t/004_timeline_switch.pl
+++ b/src/test/recovery/t/004_timeline_switch.pl
@@ -3,7 +3,7 @@
# Test for timeline switch
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/005_replay_delay.pl b/src/test/recovery/t/005_replay_delay.pl
index 8fadca4204..2f7a99e687 100644
--- a/src/test/recovery/t/005_replay_delay.pl
+++ b/src/test/recovery/t/005_replay_delay.pl
@@ -3,7 +3,7 @@
# Checks for recovery_min_apply_delay and recovery pause
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/006_logical_decoding.pl b/src/test/recovery/t/006_logical_decoding.pl
index 5025d65b1b..928093627e 100644
--- a/src/test/recovery/t/006_logical_decoding.pl
+++ b/src/test/recovery/t/006_logical_decoding.pl
@@ -7,7 +7,7 @@
# is for work that doesn't fit well there, like where server restarts
# are required.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/007_sync_rep.pl b/src/test/recovery/t/007_sync_rep.pl
index 2026af0702..b25ae1e8ec 100644
--- a/src/test/recovery/t/007_sync_rep.pl
+++ b/src/test/recovery/t/007_sync_rep.pl
@@ -3,7 +3,7 @@
# Minimal test testing synchronous replication sync_state transition
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/008_fsm_truncation.pl b/src/test/recovery/t/008_fsm_truncation.pl
index acac0a0a55..10d1535a93 100644
--- a/src/test/recovery/t/008_fsm_truncation.pl
+++ b/src/test/recovery/t/008_fsm_truncation.pl
@@ -6,7 +6,7 @@
# FSM changes don't normally need to be WAL-logged, except for truncation.
# The FSM mustn't return a page that doesn't exist (anymore).
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/009_twophase.pl b/src/test/recovery/t/009_twophase.pl
index e1273fd0f1..cde6e2a944 100644
--- a/src/test/recovery/t/009_twophase.pl
+++ b/src/test/recovery/t/009_twophase.pl
@@ -3,7 +3,7 @@
# Tests dedicated to two-phase commit in recovery
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/010_logical_decoding_timelines.pl b/src/test/recovery/t/010_logical_decoding_timelines.pl
index 6fbbeedde3..2359821b28 100644
--- a/src/test/recovery/t/010_logical_decoding_timelines.pl
+++ b/src/test/recovery/t/010_logical_decoding_timelines.pl
@@ -22,7 +22,7 @@
# on logical slots).
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/012_subtransactions.pl b/src/test/recovery/t/012_subtransactions.pl
index 91ae79dd51..32434d4340 100644
--- a/src/test/recovery/t/012_subtransactions.pl
+++ b/src/test/recovery/t/012_subtransactions.pl
@@ -3,7 +3,7 @@
# Tests dedicated to subtransactions in recovery
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/013_crash_restart.pl b/src/test/recovery/t/013_crash_restart.pl
index ce57792f31..0dfd197df4 100644
--- a/src/test/recovery/t/013_crash_restart.pl
+++ b/src/test/recovery/t/013_crash_restart.pl
@@ -12,7 +12,7 @@
# backend died), or because it's already restarted.
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/014_unlogged_reinit.pl b/src/test/recovery/t/014_unlogged_reinit.pl
index 3591b3309e..bee8b8804f 100644
--- a/src/test/recovery/t/014_unlogged_reinit.pl
+++ b/src/test/recovery/t/014_unlogged_reinit.pl
@@ -7,7 +7,7 @@
# that is not tested here.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/015_promotion_pages.pl b/src/test/recovery/t/015_promotion_pages.pl
index beeb9dfddf..b49dd4c835 100644
--- a/src/test/recovery/t/015_promotion_pages.pl
+++ b/src/test/recovery/t/015_promotion_pages.pl
@@ -6,7 +6,7 @@
# invalid page references at replay based on the minimum consistent
# recovery point defined.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/016_min_consistency.pl b/src/test/recovery/t/016_min_consistency.pl
index 81f7a43c07..cabdd3156e 100644
--- a/src/test/recovery/t/016_min_consistency.pl
+++ b/src/test/recovery/t/016_min_consistency.pl
@@ -8,7 +8,7 @@
# both checked.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/017_shm.pl b/src/test/recovery/t/017_shm.pl
index 74359e0e38..7935ce63d3 100644
--- a/src/test/recovery/t/017_shm.pl
+++ b/src/test/recovery/t/017_shm.pl
@@ -5,7 +5,7 @@
# Tests of pg_shmem.h functions
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::stat qw(stat);
use IPC::Run 'run';
use PostgreSQL::Test::Cluster;
diff --git a/src/test/recovery/t/018_wal_optimize.pl b/src/test/recovery/t/018_wal_optimize.pl
index 1d613eaede..0752bff174 100644
--- a/src/test/recovery/t/018_wal_optimize.pl
+++ b/src/test/recovery/t/018_wal_optimize.pl
@@ -10,7 +10,7 @@
# For many years, individual commands made the decision to skip WAL, hence the
# frequent appearance of COPY in these tests.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/019_replslot_limit.pl b/src/test/recovery/t/019_replslot_limit.pl
index 33e50ad933..c0b71934cf 100644
--- a/src/test/recovery/t/019_replslot_limit.pl
+++ b/src/test/recovery/t/019_replslot_limit.pl
@@ -5,7 +5,7 @@
# Ensure that max_slot_wal_keep_size limits the number of WAL files to
# be kept by replication slots.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Utils;
use PostgreSQL::Test::Cluster;
diff --git a/src/test/recovery/t/020_archive_status.pl b/src/test/recovery/t/020_archive_status.pl
index fa24153d4b..ce51bfb58e 100644
--- a/src/test/recovery/t/020_archive_status.pl
+++ b/src/test/recovery/t/020_archive_status.pl
@@ -5,7 +5,7 @@
# Tests related to WAL archiving and recovery.
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/021_row_visibility.pl b/src/test/recovery/t/021_row_visibility.pl
index 52a6a3509c..3bdd42c25d 100644
--- a/src/test/recovery/t/021_row_visibility.pl
+++ b/src/test/recovery/t/021_row_visibility.pl
@@ -4,7 +4,7 @@
# Checks that snapshots on standbys behave in a minimally reasonable
# way.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/022_crash_temp_files.pl b/src/test/recovery/t/022_crash_temp_files.pl
index 14fd8bfc7f..e702323a8f 100644
--- a/src/test/recovery/t/022_crash_temp_files.pl
+++ b/src/test/recovery/t/022_crash_temp_files.pl
@@ -3,7 +3,7 @@
# Test remove of temporary files after a crash.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/023_pitr_prepared_xact.pl b/src/test/recovery/t/023_pitr_prepared_xact.pl
index a8cdf4efdd..090711ca4b 100644
--- a/src/test/recovery/t/023_pitr_prepared_xact.pl
+++ b/src/test/recovery/t/023_pitr_prepared_xact.pl
@@ -3,7 +3,7 @@
# Test for point-in-time recovery (PITR) with prepared transactions
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/024_archive_recovery.pl b/src/test/recovery/t/024_archive_recovery.pl
index d594332b18..e9ab11895f 100644
--- a/src/test/recovery/t/024_archive_recovery.pl
+++ b/src/test/recovery/t/024_archive_recovery.pl
@@ -3,7 +3,7 @@
# Test for archive recovery of WAL generated with wal_level=minimal
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/025_stuck_on_old_timeline.pl b/src/test/recovery/t/025_stuck_on_old_timeline.pl
index 91309030df..65d8864327 100644
--- a/src/test/recovery/t/025_stuck_on_old_timeline.pl
+++ b/src/test/recovery/t/025_stuck_on_old_timeline.pl
@@ -7,7 +7,7 @@
# archive, so the WAL files all have to be streamed. Test that the cascading
# standby can follow the new primary (promoted standby).
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/026_overwrite_contrecord.pl b/src/test/recovery/t/026_overwrite_contrecord.pl
index 6807a97f26..09c7e13da9 100644
--- a/src/test/recovery/t/026_overwrite_contrecord.pl
+++ b/src/test/recovery/t/026_overwrite_contrecord.pl
@@ -3,7 +3,7 @@
# Tests for already-propagated WAL segments ending in incomplete WAL records.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use PostgreSQL::Test::Cluster;
diff --git a/src/test/recovery/t/027_stream_regress.pl b/src/test/recovery/t/027_stream_regress.pl
index f2f4e77626..20508307b5 100644
--- a/src/test/recovery/t/027_stream_regress.pl
+++ b/src/test/recovery/t/027_stream_regress.pl
@@ -1,6 +1,6 @@
# Run the standard regression tests with streaming replication
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/028_pitr_timelines.pl b/src/test/recovery/t/028_pitr_timelines.pl
index bb29a2d378..58390b6d79 100644
--- a/src/test/recovery/t/028_pitr_timelines.pl
+++ b/src/test/recovery/t/028_pitr_timelines.pl
@@ -27,7 +27,7 @@
# The actual checks are not sensitive to that.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/029_stats_restart.pl b/src/test/recovery/t/029_stats_restart.pl
index 742bd57e28..b8c7e9cd5c 100644
--- a/src/test/recovery/t/029_stats_restart.pl
+++ b/src/test/recovery/t/029_stats_restart.pl
@@ -4,7 +4,7 @@
# invalid stats files, as well as restorting stats after "normal" restarts.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/030_stats_cleanup_replica.pl b/src/test/recovery/t/030_stats_cleanup_replica.pl
index 51495aebcd..db451d9d1b 100644
--- a/src/test/recovery/t/030_stats_cleanup_replica.pl
+++ b/src/test/recovery/t/030_stats_cleanup_replica.pl
@@ -6,7 +6,7 @@
# - discard stats after immediate / crash restarts
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/031_recovery_conflict.pl b/src/test/recovery/t/031_recovery_conflict.pl
index 05e83fa854..c773344f50 100644
--- a/src/test/recovery/t/031_recovery_conflict.pl
+++ b/src/test/recovery/t/031_recovery_conflict.pl
@@ -5,7 +5,7 @@
# pg_stat_database_conflicts are populated correctly
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/032_relfilenode_reuse.pl b/src/test/recovery/t/032_relfilenode_reuse.pl
index 3bc2db1a4f..8a4cceacc2 100644
--- a/src/test/recovery/t/032_relfilenode_reuse.pl
+++ b/src/test/recovery/t/032_relfilenode_reuse.pl
@@ -1,5 +1,5 @@
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/033_replay_tsp_drops.pl b/src/test/recovery/t/033_replay_tsp_drops.pl
index af97ed9f70..64c370224c 100644
--- a/src/test/recovery/t/033_replay_tsp_drops.pl
+++ b/src/test/recovery/t/033_replay_tsp_drops.pl
@@ -4,7 +4,7 @@
# Test replay of tablespace/database creation/drop
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/034_create_database.pl b/src/test/recovery/t/034_create_database.pl
index ed562bba25..d4d7500dd5 100644
--- a/src/test/recovery/t/034_create_database.pl
+++ b/src/test/recovery/t/034_create_database.pl
@@ -4,7 +4,7 @@
# Test WAL replay for CREATE DATABASE .. STRATEGY WAL_LOG.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/035_standby_logical_decoding.pl b/src/test/recovery/t/035_standby_logical_decoding.pl
index 480e6d6caa..1ebf50fe3e 100644
--- a/src/test/recovery/t/035_standby_logical_decoding.pl
+++ b/src/test/recovery/t/035_standby_logical_decoding.pl
@@ -4,7 +4,7 @@
# recovery conflict and standby promotion.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
diff --git a/src/test/recovery/t/036_truncated_dropped.pl b/src/test/recovery/t/036_truncated_dropped.pl
index 2d5339d9d8..53194978fc 100644
--- a/src/test/recovery/t/036_truncated_dropped.pl
+++ b/src/test/recovery/t/036_truncated_dropped.pl
@@ -5,7 +5,7 @@
# truncated or dropped.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/test/recovery/t/037_invalid_database.pl b/src/test/recovery/t/037_invalid_database.pl
index 29b9bb6977..a6b23c3ba7 100644
--- a/src/test/recovery/t/037_invalid_database.pl
+++ b/src/test/recovery/t/037_invalid_database.pl
@@ -3,7 +3,7 @@
# Test we handle interrupted DROP DATABASE correctly.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/recovery/t/cp_history_files b/src/test/recovery/t/cp_history_files
index cfeea41e5b..5832b98ef4 100644
--- a/src/test/recovery/t/cp_history_files
+++ b/src/test/recovery/t/cp_history_files
@@ -2,7 +2,7 @@
use File::Copy;
use strict;
-use warnings;
+use warnings FATAL => 'all';
die "wrong number of arguments" if @ARGV != 2;
my ($source, $target) = @ARGV;
diff --git a/src/test/ssl/t/001_ssltests.pl b/src/test/ssl/t/001_ssltests.pl
index 76442de063..860edb9ff7 100644
--- a/src/test/ssl/t/001_ssltests.pl
+++ b/src/test/ssl/t/001_ssltests.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Config qw ( %Config );
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
@@ -713,6 +713,8 @@ sub switch_server_cert
# integer like how we do when grabbing the serial fails.
if ($Config{ivsize} == 8)
{
+ no warnings qw(portable);
+
$serialno =~ s/^serial=//;
$serialno =~ s/\s+//g;
$serialno = hex($serialno);
diff --git a/src/test/ssl/t/002_scram.pl b/src/test/ssl/t/002_scram.pl
index 27abd02abf..a556c66bff 100644
--- a/src/test/ssl/t/002_scram.pl
+++ b/src/test/ssl/t/002_scram.pl
@@ -4,7 +4,7 @@
# Test SCRAM authentication and TLS channel binding types
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/ssl/t/003_sslinfo.pl b/src/test/ssl/t/003_sslinfo.pl
index 5306aad802..866fe5ad2c 100644
--- a/src/test/ssl/t/003_sslinfo.pl
+++ b/src/test/ssl/t/003_sslinfo.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/ssl/t/SSL/Backend/OpenSSL.pm b/src/test/ssl/t/SSL/Backend/OpenSSL.pm
index a762f43634..a2b44f8516 100644
--- a/src/test/ssl/t/SSL/Backend/OpenSSL.pm
+++ b/src/test/ssl/t/SSL/Backend/OpenSSL.pm
@@ -25,7 +25,7 @@ for a PostgreSQL cluster compiled against OpenSSL.
package SSL::Backend::OpenSSL;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
use File::Copy;
diff --git a/src/test/ssl/t/SSL/Server.pm b/src/test/ssl/t/SSL/Server.pm
index 2c5c055222..836e098902 100644
--- a/src/test/ssl/t/SSL/Server.pm
+++ b/src/test/ssl/t/SSL/Server.pm
@@ -64,7 +64,7 @@ specific infrastructure. Currently only OpenSSL is supported.
package SSL::Server;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/001_rep_changes.pl b/src/test/subscription/t/001_rep_changes.pl
index 0a399cdb82..a69a53e19c 100644
--- a/src/test/subscription/t/001_rep_changes.pl
+++ b/src/test/subscription/t/001_rep_changes.pl
@@ -3,7 +3,7 @@
# Basic logical replication test
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/002_types.pl b/src/test/subscription/t/002_types.pl
index 6b5853b80b..73f6c52977 100644
--- a/src/test/subscription/t/002_types.pl
+++ b/src/test/subscription/t/002_types.pl
@@ -4,7 +4,7 @@
# This tests that more complex datatypes are replicated correctly
# by logical replication
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/003_constraints.pl b/src/test/subscription/t/003_constraints.pl
index 6e902360cc..a78061b22f 100644
--- a/src/test/subscription/t/003_constraints.pl
+++ b/src/test/subscription/t/003_constraints.pl
@@ -3,7 +3,7 @@
# This test checks that constraints work on subscriber
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/004_sync.pl b/src/test/subscription/t/004_sync.pl
index aa7714c533..000154b75e 100644
--- a/src/test/subscription/t/004_sync.pl
+++ b/src/test/subscription/t/004_sync.pl
@@ -3,7 +3,7 @@
# Tests for logical replication table syncing
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/005_encoding.pl b/src/test/subscription/t/005_encoding.pl
index 2f0bf7730b..a7e88e42f7 100644
--- a/src/test/subscription/t/005_encoding.pl
+++ b/src/test/subscription/t/005_encoding.pl
@@ -3,7 +3,7 @@
# Test replication between databases with different encodings
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/006_rewrite.pl b/src/test/subscription/t/006_rewrite.pl
index 8bc7e872d9..2a2d27f89f 100644
--- a/src/test/subscription/t/006_rewrite.pl
+++ b/src/test/subscription/t/006_rewrite.pl
@@ -3,7 +3,7 @@
# Test logical replication behavior with heap rewrites
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/007_ddl.pl b/src/test/subscription/t/007_ddl.pl
index cbdb5b66e4..9bf69b35f7 100644
--- a/src/test/subscription/t/007_ddl.pl
+++ b/src/test/subscription/t/007_ddl.pl
@@ -3,7 +3,7 @@
# Test some logical replication DDL behavior
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/008_diff_schema.pl b/src/test/subscription/t/008_diff_schema.pl
index c6e41b65b9..0b24cc45c2 100644
--- a/src/test/subscription/t/008_diff_schema.pl
+++ b/src/test/subscription/t/008_diff_schema.pl
@@ -3,7 +3,7 @@
# Test behavior with different schema on subscriber
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/009_matviews.pl b/src/test/subscription/t/009_matviews.pl
index 38080b4313..36baf8bf3c 100644
--- a/src/test/subscription/t/009_matviews.pl
+++ b/src/test/subscription/t/009_matviews.pl
@@ -3,7 +3,7 @@
# Test materialized views behavior
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/010_truncate.pl b/src/test/subscription/t/010_truncate.pl
index a5b6445392..9dc8c4d58f 100644
--- a/src/test/subscription/t/010_truncate.pl
+++ b/src/test/subscription/t/010_truncate.pl
@@ -3,7 +3,7 @@
# Test TRUNCATE
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/011_generated.pl b/src/test/subscription/t/011_generated.pl
index 7711be295a..60b613a2ad 100644
--- a/src/test/subscription/t/011_generated.pl
+++ b/src/test/subscription/t/011_generated.pl
@@ -3,7 +3,7 @@
# Test generated columns
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/012_collation.pl b/src/test/subscription/t/012_collation.pl
index 823550a31b..2efe201a6c 100644
--- a/src/test/subscription/t/012_collation.pl
+++ b/src/test/subscription/t/012_collation.pl
@@ -4,7 +4,7 @@
# Test collations, in particular nondeterministic ones
# (only works with ICU)
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/013_partition.pl b/src/test/subscription/t/013_partition.pl
index 275fb3b525..c79b89ef42 100644
--- a/src/test/subscription/t/013_partition.pl
+++ b/src/test/subscription/t/013_partition.pl
@@ -3,7 +3,7 @@
# Test logical replication with partitioned tables
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/014_binary.pl b/src/test/subscription/t/014_binary.pl
index e5ce849c19..990dc4e9f1 100644
--- a/src/test/subscription/t/014_binary.pl
+++ b/src/test/subscription/t/014_binary.pl
@@ -4,7 +4,7 @@
# Binary mode logical replication test
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/015_stream.pl b/src/test/subscription/t/015_stream.pl
index b450a78adf..79a6d094c0 100644
--- a/src/test/subscription/t/015_stream.pl
+++ b/src/test/subscription/t/015_stream.pl
@@ -3,7 +3,7 @@
# Test streaming of simple large transaction
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/016_stream_subxact.pl b/src/test/subscription/t/016_stream_subxact.pl
index 838049af65..ffc02fa47c 100644
--- a/src/test/subscription/t/016_stream_subxact.pl
+++ b/src/test/subscription/t/016_stream_subxact.pl
@@ -3,7 +3,7 @@
# Test streaming of transaction containing subtransactions
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/017_stream_ddl.pl b/src/test/subscription/t/017_stream_ddl.pl
index d00ede44ed..9aa41ad7b4 100644
--- a/src/test/subscription/t/017_stream_ddl.pl
+++ b/src/test/subscription/t/017_stream_ddl.pl
@@ -6,7 +6,7 @@
# This file is mainly to test the DDL/DML interaction of the publisher side,
# so we didn't add a parallel apply version for the tests in this file.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/018_stream_subxact_abort.pl b/src/test/subscription/t/018_stream_subxact_abort.pl
index 77c96011a9..f6c759368e 100644
--- a/src/test/subscription/t/018_stream_subxact_abort.pl
+++ b/src/test/subscription/t/018_stream_subxact_abort.pl
@@ -3,7 +3,7 @@
# Test streaming of transaction containing multiple subtransactions and rollbacks
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/019_stream_subxact_ddl_abort.pl b/src/test/subscription/t/019_stream_subxact_ddl_abort.pl
index 6c2a9c5bf1..e9ab94ea97 100644
--- a/src/test/subscription/t/019_stream_subxact_ddl_abort.pl
+++ b/src/test/subscription/t/019_stream_subxact_ddl_abort.pl
@@ -7,7 +7,7 @@
# This file is mainly to test the DDL/DML interaction of the publisher side,
# so we didn't add a parallel apply version for the tests in this file.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/020_messages.pl b/src/test/subscription/t/020_messages.pl
index 826d39cd89..761e4399fd 100644
--- a/src/test/subscription/t/020_messages.pl
+++ b/src/test/subscription/t/020_messages.pl
@@ -3,7 +3,7 @@
# Tests that logical decoding messages
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/021_twophase.pl b/src/test/subscription/t/021_twophase.pl
index 8ce4cfc983..d57219cb3b 100644
--- a/src/test/subscription/t/021_twophase.pl
+++ b/src/test/subscription/t/021_twophase.pl
@@ -3,7 +3,7 @@
# logical replication of 2PC test
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/022_twophase_cascade.pl b/src/test/subscription/t/022_twophase_cascade.pl
index b37ed95c9e..9adbc4d1e8 100644
--- a/src/test/subscription/t/022_twophase_cascade.pl
+++ b/src/test/subscription/t/022_twophase_cascade.pl
@@ -8,7 +8,7 @@
# Two-phase and parallel apply will be tested in 023_twophase_stream, so we
# didn't add a parallel apply version for the tests in this file.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/023_twophase_stream.pl b/src/test/subscription/t/023_twophase_stream.pl
index fdc9e2a0f0..9f837a9811 100644
--- a/src/test/subscription/t/023_twophase_stream.pl
+++ b/src/test/subscription/t/023_twophase_stream.pl
@@ -3,7 +3,7 @@
# Test logical replication of 2PC with streaming.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/024_add_drop_pub.pl b/src/test/subscription/t/024_add_drop_pub.pl
index 8614b1b5b3..0528ebf2fa 100644
--- a/src/test/subscription/t/024_add_drop_pub.pl
+++ b/src/test/subscription/t/024_add_drop_pub.pl
@@ -3,7 +3,7 @@
# This test checks behaviour of ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/025_rep_changes_for_schema.pl b/src/test/subscription/t/025_rep_changes_for_schema.pl
index 8543f52710..64ec29a4b8 100644
--- a/src/test/subscription/t/025_rep_changes_for_schema.pl
+++ b/src/test/subscription/t/025_rep_changes_for_schema.pl
@@ -3,7 +3,7 @@
# Logical replication tests for schema publications
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/026_stats.pl b/src/test/subscription/t/026_stats.pl
index 0bcda006cd..ad9cb8deff 100644
--- a/src/test/subscription/t/026_stats.pl
+++ b/src/test/subscription/t/026_stats.pl
@@ -3,7 +3,7 @@
# Tests for subscription stats.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/027_nosuperuser.pl b/src/test/subscription/t/027_nosuperuser.pl
index d7a7e3ef5b..15b6a97721 100644
--- a/src/test/subscription/t/027_nosuperuser.pl
+++ b/src/test/subscription/t/027_nosuperuser.pl
@@ -3,7 +3,7 @@
# Test that logical replication respects permissions
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/test/subscription/t/028_row_filter.pl b/src/test/subscription/t/028_row_filter.pl
index aec483f785..9633e9e597 100644
--- a/src/test/subscription/t/028_row_filter.pl
+++ b/src/test/subscription/t/028_row_filter.pl
@@ -2,7 +2,7 @@
# Test logical replication behavior with row filtering
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/029_on_error.pl b/src/test/subscription/t/029_on_error.pl
index fcab7386fe..d874e83896 100644
--- a/src/test/subscription/t/029_on_error.pl
+++ b/src/test/subscription/t/029_on_error.pl
@@ -3,7 +3,7 @@
# Tests for disable_on_error and SKIP transaction features.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/030_origin.pl b/src/test/subscription/t/030_origin.pl
index 9ca1fa25d8..fa33f997e8 100644
--- a/src/test/subscription/t/030_origin.pl
+++ b/src/test/subscription/t/030_origin.pl
@@ -4,7 +4,7 @@
# Test the CREATE SUBSCRIPTION 'origin' parameter and its interaction with
# 'copy_data' parameter.
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/031_column_list.pl b/src/test/subscription/t/031_column_list.pl
index dbff806040..35fa1e4d93 100644
--- a/src/test/subscription/t/031_column_list.pl
+++ b/src/test/subscription/t/031_column_list.pl
@@ -2,7 +2,7 @@
# Test partial-column publication of tables
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/032_subscribe_use_index.pl b/src/test/subscription/t/032_subscribe_use_index.pl
index 880ef2d57a..f219140afa 100644
--- a/src/test/subscription/t/032_subscribe_use_index.pl
+++ b/src/test/subscription/t/032_subscribe_use_index.pl
@@ -2,7 +2,7 @@
# Test logical replication behavior with subscriber using available index
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/test/subscription/t/033_run_as_table_owner.pl b/src/test/subscription/t/033_run_as_table_owner.pl
index 9de3c04a0c..348e183e60 100644
--- a/src/test/subscription/t/033_run_as_table_owner.pl
+++ b/src/test/subscription/t/033_run_as_table_owner.pl
@@ -3,7 +3,7 @@
# Test that logical replication respects permissions
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use Test::More;
diff --git a/src/test/subscription/t/100_bugs.pl b/src/test/subscription/t/100_bugs.pl
index 4fabc44168..63bd01d5a7 100644
--- a/src/test/subscription/t/100_bugs.pl
+++ b/src/test/subscription/t/100_bugs.pl
@@ -3,7 +3,7 @@
# Tests for various bugs found over time
use strict;
-use warnings;
+use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
diff --git a/src/tools/PerfectHash.pm b/src/tools/PerfectHash.pm
index e54905a3ef..0587107962 100644
--- a/src/tools/PerfectHash.pm
+++ b/src/tools/PerfectHash.pm
@@ -30,7 +30,7 @@
package PerfectHash;
use strict;
-use warnings;
+use warnings FATAL => 'all';
# At runtime, we'll compute two simple hash functions of the input key,
diff --git a/src/tools/check_bison_recursion.pl b/src/tools/check_bison_recursion.pl
index 18f14ad127..2f079a01a7 100755
--- a/src/tools/check_bison_recursion.pl
+++ b/src/tools/check_bison_recursion.pl
@@ -22,7 +22,7 @@
#################################################################
use strict;
-use warnings;
+use warnings FATAL => 'all';
my $debug = 0;
diff --git a/src/tools/ci/windows_build_config.pl b/src/tools/ci/windows_build_config.pl
index b0d4360c74..a3eb96b7fd 100644
--- a/src/tools/ci/windows_build_config.pl
+++ b/src/tools/ci/windows_build_config.pl
@@ -1,5 +1,5 @@
use strict;
-use warnings;
+use warnings FATAL => 'all';
our $config;
diff --git a/src/tools/copyright.pl b/src/tools/copyright.pl
index 30c38c757b..4263b5a3eb 100755
--- a/src/tools/copyright.pl
+++ b/src/tools/copyright.pl
@@ -10,7 +10,7 @@
#################################################################
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Find;
use File::Basename;
diff --git a/src/tools/fix-old-flex-code.pl b/src/tools/fix-old-flex-code.pl
index d88e68b8b6..c9b0517ed4 100644
--- a/src/tools/fix-old-flex-code.pl
+++ b/src/tools/fix-old-flex-code.pl
@@ -16,7 +16,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
# Get command line argument.
usage() if $#ARGV != 0;
diff --git a/src/tools/gen_export.pl b/src/tools/gen_export.pl
index ed60abe956..08f839ed07 100644
--- a/src/tools/gen_export.pl
+++ b/src/tools/gen_export.pl
@@ -1,5 +1,5 @@
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
my $format;
diff --git a/src/tools/gen_keywordlist.pl b/src/tools/gen_keywordlist.pl
index 97a9ff1b30..2ad9c9a4a3 100644
--- a/src/tools/gen_keywordlist.pl
+++ b/src/tools/gen_keywordlist.pl
@@ -29,7 +29,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Getopt::Long;
use FindBin;
diff --git a/src/tools/git_changelog b/src/tools/git_changelog
index 39e1b1fe15..f3c225d556 100755
--- a/src/tools/git_changelog
+++ b/src/tools/git_changelog
@@ -50,7 +50,7 @@
use strict;
-use warnings;
+use warnings FATAL => 'all';
require Time::Local;
require Getopt::Long;
require IPC::Open2;
diff --git a/src/tools/mark_pgdllimport.pl b/src/tools/mark_pgdllimport.pl
index 45b4e73bff..a0ff7f0e2b 100755
--- a/src/tools/mark_pgdllimport.pl
+++ b/src/tools/mark_pgdllimport.pl
@@ -23,7 +23,7 @@
#----------------------------------------------------------------------
use strict;
-use warnings;
+use warnings FATAL => 'all';
for my $include_file (@ARGV)
{
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
index 05548d7c0a..39cf83ab5e 100644
--- a/src/tools/msvc/Install.pm
+++ b/src/tools/msvc/Install.pm
@@ -9,7 +9,7 @@ package Install;
# src/tools/msvc/Install.pm
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use File::Basename;
use File::Copy;
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
index 62fec1fee5..6a6fb0e230 100644
--- a/src/tools/msvc/MSBuildProject.pm
+++ b/src/tools/msvc/MSBuildProject.pm
@@ -11,7 +11,7 @@ package MSBuildProject;
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(Project);
no warnings qw(redefine); ## no critic
@@ -412,7 +412,7 @@ package VC2015Project;
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(MSBuildProject);
no warnings qw(redefine); ## no critic
@@ -437,7 +437,7 @@ package VC2017Project;
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(MSBuildProject);
no warnings qw(redefine); ## no critic
@@ -462,7 +462,7 @@ package VC2019Project;
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(MSBuildProject);
no warnings qw(redefine); ## no critic
@@ -487,7 +487,7 @@ package VC2022Project;
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(MSBuildProject);
no warnings qw(redefine); ## no critic
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 9e05eb91b1..91cdd56888 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -9,7 +9,7 @@ package Mkvcbuild;
# src/tools/msvc/Mkvcbuild.pm
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Carp;
use if ($^O eq "MSWin32"), 'Win32';
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index 0507ad08c5..6e87c94b82 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -10,7 +10,7 @@ package Project;
#
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
sub _new
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index a50f730260..b0866cb94f 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -10,7 +10,7 @@ package Solution;
#
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use VSObjectFactory;
no warnings qw(redefine); ## no critic
@@ -1242,7 +1242,7 @@ package VS2015Solution;
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(Solution);
no warnings qw(redefine); ## no critic
@@ -1270,7 +1270,7 @@ package VS2017Solution;
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(Solution);
no warnings qw(redefine); ## no critic
@@ -1298,7 +1298,7 @@ package VS2019Solution;
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(Solution);
no warnings qw(redefine); ## no critic
@@ -1326,7 +1326,7 @@ package VS2022Solution;
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use base qw(Solution);
no warnings qw(redefine); ## no critic
diff --git a/src/tools/msvc/VSObjectFactory.pm b/src/tools/msvc/VSObjectFactory.pm
index 9df2ab4282..2850ad8b3d 100644
--- a/src/tools/msvc/VSObjectFactory.pm
+++ b/src/tools/msvc/VSObjectFactory.pm
@@ -11,7 +11,7 @@ package VSObjectFactory;
use Carp;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Exporter;
use Project;
diff --git a/src/tools/msvc/build.pl b/src/tools/msvc/build.pl
index 9853e5c3d8..a6934ed0ff 100644
--- a/src/tools/msvc/build.pl
+++ b/src/tools/msvc/build.pl
@@ -8,7 +8,7 @@
# src/tools/msvc/build.pl
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use lib $FindBin::RealBin;
diff --git a/src/tools/msvc/config_default.pl b/src/tools/msvc/config_default.pl
index 8945e772c2..0b40f6e38f 100644
--- a/src/tools/msvc/config_default.pl
+++ b/src/tools/msvc/config_default.pl
@@ -3,7 +3,7 @@
# Configuration arguments for vcbuild.
use strict;
-use warnings;
+use warnings FATAL => 'all';
our $config = {
asserts => 0, # --enable-cassert
diff --git a/src/tools/msvc/dummylib/Win32.pm b/src/tools/msvc/dummylib/Win32.pm
index df2d7a2929..6c483d60a2 100644
--- a/src/tools/msvc/dummylib/Win32.pm
+++ b/src/tools/msvc/dummylib/Win32.pm
@@ -3,5 +3,5 @@
package Win32;
use strict;
-use warnings;
+use warnings FATAL => 'all';
1;
diff --git a/src/tools/msvc/dummylib/Win32/Registry.pm b/src/tools/msvc/dummylib/Win32/Registry.pm
index e14636eb31..0abf53cb04 100644
--- a/src/tools/msvc/dummylib/Win32/Registry.pm
+++ b/src/tools/msvc/dummylib/Win32/Registry.pm
@@ -4,7 +4,7 @@
package Win32::Registry;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use vars qw($HKEY_LOCAL_MACHINE);
diff --git a/src/tools/msvc/dummylib/Win32API/File.pm b/src/tools/msvc/dummylib/Win32API/File.pm
index 7baf34c4e5..42c066acbb 100644
--- a/src/tools/msvc/dummylib/Win32API/File.pm
+++ b/src/tools/msvc/dummylib/Win32API/File.pm
@@ -4,7 +4,7 @@
package Win32API::File;
use strict;
-use warnings;
+use warnings FATAL => 'all';
use constant { SEM_FAILCRITICALERRORS => 1, SEM_NOGPFAULTERRORBOX => 2 };
sub SetErrormode { }
diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl
index cf83d7d056..593a8e005c 100644
--- a/src/tools/msvc/gendef.pl
+++ b/src/tools/msvc/gendef.pl
@@ -2,7 +2,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use List::Util qw(min);
use Getopt::Long;
diff --git a/src/tools/msvc/install.pl b/src/tools/msvc/install.pl
index 8de7cee90f..37cb8d6b43 100755
--- a/src/tools/msvc/install.pl
+++ b/src/tools/msvc/install.pl
@@ -7,7 +7,7 @@
# src/tools/msvc/install.pl
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use lib $FindBin::RealBin;
diff --git a/src/tools/msvc/mkvcbuild.pl b/src/tools/msvc/mkvcbuild.pl
index 7f94b1a6c9..b2f43fafeb 100644
--- a/src/tools/msvc/mkvcbuild.pl
+++ b/src/tools/msvc/mkvcbuild.pl
@@ -8,7 +8,7 @@
# src/tools/msvc/mkvcbuild.pl
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use FindBin;
use lib $FindBin::RealBin;
diff --git a/src/tools/msvc/pgbison.pl b/src/tools/msvc/pgbison.pl
index 25df6699b5..0687a5b874 100644
--- a/src/tools/msvc/pgbison.pl
+++ b/src/tools/msvc/pgbison.pl
@@ -5,7 +5,7 @@
# src/tools/msvc/pgbison.pl
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl
index c308a08b55..59361d59c9 100644
--- a/src/tools/msvc/pgflex.pl
+++ b/src/tools/msvc/pgflex.pl
@@ -5,7 +5,7 @@
# src/tools/msvc/pgflex.pl
use strict;
-use warnings;
+use warnings FATAL => 'all';
use File::Basename;
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index 78170d105d..e8ea1a68dc 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -5,7 +5,7 @@
# src/tools/msvc/vcregress.pl
use strict;
-use warnings;
+use warnings FATAL => 'all';
our $config;
diff --git a/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl b/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl
index fef5c86ca4..fb772cb89b 100644
--- a/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl
+++ b/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl
@@ -4,7 +4,7 @@
# Copyright (c) 2017-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Cwd qw(getcwd);
use File::Copy "cp";
diff --git a/src/tools/pginclude/pgcheckdefines b/src/tools/pginclude/pgcheckdefines
index a9fe79ebe5..68aa5d178e 100755
--- a/src/tools/pginclude/pgcheckdefines
+++ b/src/tools/pginclude/pgcheckdefines
@@ -23,7 +23,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Cwd;
use File::Basename;
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index bce63d95da..b81fbab2ab 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -3,7 +3,7 @@
# Copyright (c) 2021-2023, PostgreSQL Global Development Group
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Cwd qw(abs_path getcwd);
use File::Find;
diff --git a/src/tools/version_stamp.pl b/src/tools/version_stamp.pl
index 1f0074ded5..ad0f233758 100755
--- a/src/tools/version_stamp.pl
+++ b/src/tools/version_stamp.pl
@@ -21,7 +21,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
# Major version is hard-wired into the script. We update it when we branch
# a new development version.
diff --git a/src/tools/win32tzlist.pl b/src/tools/win32tzlist.pl
index 657f7d4879..3a1ca4cb15 100755
--- a/src/tools/win32tzlist.pl
+++ b/src/tools/win32tzlist.pl
@@ -16,7 +16,7 @@
#
use strict;
-use warnings;
+use warnings FATAL => 'all';
use Win32::Registry;
--
2.41.0