Skip to content

Commit 7dde987

Browse files
committed
Double-space commands in system_constraints.sql/system_functions.sql.
Previously, any error reported by the backend while reading system_constraints.sql would report the entire file, not just the particular command it was working on. (Ask me how I know.) Likewise, there were chunks of system_functions.sql that would be read as one command, which would be annoying if anything failed there. The issue for system_constraints.sql is an oversight in commit dfb75e4. I didn't try to trace down where the poor formatting in system_functions.sql started, but it's certainly contrary to the advice at the head of that file.
1 parent 1f9b0e6 commit 7dde987

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

src/backend/catalog/genbki.pl

+2-1
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,8 @@
678678

679679
foreach my $c (@system_constraints)
680680
{
681-
print $constraints $c, "\n";
681+
# leave blank lines to localize any bootstrap error messages better
682+
print $constraints $c, "\n\n";
682683
}
683684

684685
# Now generate schemapg.h

src/backend/catalog/system_functions.sql

+47
Original file line numberDiff line numberDiff line change
@@ -607,72 +607,119 @@ AS 'unicode_is_normalized';
607607
-- can later change who can access these functions, or leave them as only
608608
-- available to superuser / cluster owner, if they choose.
609609
--
610+
610611
REVOKE EXECUTE ON FUNCTION pg_start_backup(text, boolean, boolean) FROM public;
612+
611613
REVOKE EXECUTE ON FUNCTION pg_stop_backup() FROM public;
614+
612615
REVOKE EXECUTE ON FUNCTION pg_stop_backup(boolean, boolean) FROM public;
616+
613617
REVOKE EXECUTE ON FUNCTION pg_create_restore_point(text) FROM public;
618+
614619
REVOKE EXECUTE ON FUNCTION pg_switch_wal() FROM public;
620+
615621
REVOKE EXECUTE ON FUNCTION pg_wal_replay_pause() FROM public;
622+
616623
REVOKE EXECUTE ON FUNCTION pg_wal_replay_resume() FROM public;
624+
617625
REVOKE EXECUTE ON FUNCTION pg_rotate_logfile() FROM public;
626+
618627
REVOKE EXECUTE ON FUNCTION pg_reload_conf() FROM public;
628+
619629
REVOKE EXECUTE ON FUNCTION pg_current_logfile() FROM public;
630+
620631
REVOKE EXECUTE ON FUNCTION pg_current_logfile(text) FROM public;
632+
621633
REVOKE EXECUTE ON FUNCTION pg_promote(boolean, integer) FROM public;
622634

623635
REVOKE EXECUTE ON FUNCTION pg_stat_reset() FROM public;
636+
624637
REVOKE EXECUTE ON FUNCTION pg_stat_reset_shared(text) FROM public;
638+
625639
REVOKE EXECUTE ON FUNCTION pg_stat_reset_slru(text) FROM public;
640+
626641
REVOKE EXECUTE ON FUNCTION pg_stat_reset_single_table_counters(oid) FROM public;
642+
627643
REVOKE EXECUTE ON FUNCTION pg_stat_reset_single_function_counters(oid) FROM public;
644+
628645
REVOKE EXECUTE ON FUNCTION pg_stat_reset_replication_slot(text) FROM public;
629646

630647
REVOKE EXECUTE ON FUNCTION lo_import(text) FROM public;
648+
631649
REVOKE EXECUTE ON FUNCTION lo_import(text, oid) FROM public;
650+
632651
REVOKE EXECUTE ON FUNCTION lo_export(oid, text) FROM public;
633652

634653
REVOKE EXECUTE ON FUNCTION pg_ls_logdir() FROM public;
654+
635655
REVOKE EXECUTE ON FUNCTION pg_ls_waldir() FROM public;
656+
636657
REVOKE EXECUTE ON FUNCTION pg_ls_archive_statusdir() FROM public;
658+
637659
REVOKE EXECUTE ON FUNCTION pg_ls_tmpdir() FROM public;
660+
638661
REVOKE EXECUTE ON FUNCTION pg_ls_tmpdir(oid) FROM public;
639662

640663
REVOKE EXECUTE ON FUNCTION pg_read_file(text) FROM public;
664+
641665
REVOKE EXECUTE ON FUNCTION pg_read_file(text,bigint,bigint) FROM public;
666+
642667
REVOKE EXECUTE ON FUNCTION pg_read_file(text,bigint,bigint,boolean) FROM public;
643668

644669
REVOKE EXECUTE ON FUNCTION pg_read_binary_file(text) FROM public;
670+
645671
REVOKE EXECUTE ON FUNCTION pg_read_binary_file(text,bigint,bigint) FROM public;
672+
646673
REVOKE EXECUTE ON FUNCTION pg_read_binary_file(text,bigint,bigint,boolean) FROM public;
647674

648675
REVOKE EXECUTE ON FUNCTION pg_replication_origin_advance(text, pg_lsn) FROM public;
676+
649677
REVOKE EXECUTE ON FUNCTION pg_replication_origin_create(text) FROM public;
678+
650679
REVOKE EXECUTE ON FUNCTION pg_replication_origin_drop(text) FROM public;
680+
651681
REVOKE EXECUTE ON FUNCTION pg_replication_origin_oid(text) FROM public;
682+
652683
REVOKE EXECUTE ON FUNCTION pg_replication_origin_progress(text, boolean) FROM public;
684+
653685
REVOKE EXECUTE ON FUNCTION pg_replication_origin_session_is_setup() FROM public;
686+
654687
REVOKE EXECUTE ON FUNCTION pg_replication_origin_session_progress(boolean) FROM public;
688+
655689
REVOKE EXECUTE ON FUNCTION pg_replication_origin_session_reset() FROM public;
690+
656691
REVOKE EXECUTE ON FUNCTION pg_replication_origin_session_setup(text) FROM public;
692+
657693
REVOKE EXECUTE ON FUNCTION pg_replication_origin_xact_reset() FROM public;
694+
658695
REVOKE EXECUTE ON FUNCTION pg_replication_origin_xact_setup(pg_lsn, timestamp with time zone) FROM public;
696+
659697
REVOKE EXECUTE ON FUNCTION pg_show_replication_origin_status() FROM public;
660698

661699
REVOKE EXECUTE ON FUNCTION pg_stat_file(text) FROM public;
700+
662701
REVOKE EXECUTE ON FUNCTION pg_stat_file(text,boolean) FROM public;
663702

664703
REVOKE EXECUTE ON FUNCTION pg_ls_dir(text) FROM public;
704+
665705
REVOKE EXECUTE ON FUNCTION pg_ls_dir(text,boolean,boolean) FROM public;
666706

667707
--
668708
-- We also set up some things as accessible to standard roles.
669709
--
710+
670711
GRANT EXECUTE ON FUNCTION pg_ls_logdir() TO pg_monitor;
712+
671713
GRANT EXECUTE ON FUNCTION pg_ls_waldir() TO pg_monitor;
714+
672715
GRANT EXECUTE ON FUNCTION pg_ls_archive_statusdir() TO pg_monitor;
716+
673717
GRANT EXECUTE ON FUNCTION pg_ls_tmpdir() TO pg_monitor;
718+
674719
GRANT EXECUTE ON FUNCTION pg_ls_tmpdir(oid) TO pg_monitor;
675720

676721
GRANT pg_read_all_settings TO pg_monitor;
722+
677723
GRANT pg_read_all_stats TO pg_monitor;
724+
678725
GRANT pg_stat_scan_tables TO pg_monitor;

0 commit comments

Comments
 (0)