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

Lines changed: 2 additions & 1 deletion
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

Lines changed: 47 additions & 0 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy