1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
[GrantFu]
# roles that we maintain in this file
roles = londiste_writer, londiste_reader, public, pgq_admin
[1.tables]
on.tables = londiste.table_info, londiste.seq_info, londiste.pending_fkeys, londiste.applied_execute
pgq_admin = select, insert, update, delete
londiste_reader = select
# backwards compat, should be dropped?
public = select
[2.public.fns]
on.functions = %(londiste_public_fns)s
public = execute
[3.remote.node]
on.functions = %(londiste_remote_fns)s
londiste_reader = execute
londiste_writer = execute
[4.local.node]
on.functions = %(londiste_local_fns)s, %(londiste_internal_fns)s
londiste_writer = execute
[5.seqs]
londiste_writer = usage
on.sequences =
londiste.table_info_nr_seq,
londiste.seq_info_nr_seq
[6.maint]
pgq_admin = execute
londiste_writer = execute
on.functions =
londiste.periodic_maintenance(),
londiste.root_check_seqs(text),
londiste.root_check_seqs(text, int8)
# define various groups of functions
[DEFAULT]
# can be executed by everybody, read-only, not secdef
londiste_public_fns =
londiste.find_column_types(text),
londiste.find_table_fkeys(text),
londiste.find_rel_oid(text, text),
londiste.find_table_oid(text),
londiste.find_seq_oid(text),
londiste.is_replica_func(oid),
londiste.quote_fqname(text),
londiste.make_fqname(text),
londiste.split_fqname(text),
londiste.version()
# remote node uses those on provider, read local tables
londiste_remote_fns =
londiste.get_seq_list(text),
londiste.get_table_list(text),
londiste._coordinate_copy(text, text)
# used by owner only
londiste_internal_fns =
londiste.periodic_maintenance(),
londiste.set_session_replication_role(text, bool),
londiste.upgrade_schema()
# used by local worker, admin
londiste_local_fns =
londiste.local_show_missing(text),
londiste.local_add_seq(text, text),
londiste.local_add_table(text, text, text[], text, text),
londiste.local_add_table(text, text, text[], text),
londiste.local_add_table(text, text, text[]),
londiste.local_add_table(text, text),
londiste.local_remove_seq(text, text),
londiste.local_remove_table(text, text),
londiste.global_add_table(text, text),
londiste.global_remove_table(text, text),
londiste.global_update_seq(text, text, int8),
londiste.global_remove_seq(text, text),
londiste.get_table_pending_fkeys(text),
londiste.get_valid_pending_fkeys(text),
londiste.drop_table_fkey(text, text),
londiste.restore_table_fkey(text, text, boolean),
londiste.execute_start(text, text, text, boolean),
londiste.execute_start(text, text, text, boolean, text),
londiste.execute_finish(text, text),
londiste.root_notify_change(text, text, text),
londiste.local_set_table_state(text, text, text, text),
londiste.local_set_table_attrs(text, text, text),
londiste.local_set_table_struct(text, text, text),
londiste.drop_table_triggers(text, text),
londiste.table_info_trigger(),
londiste.create_partition(text, text, text, text, timestamptz, text),
londiste.is_obsolete_partition (text, interval, text),
londiste.list_obsolete_partitions (text, interval, text),
londiste.drop_obsolete_partitions (text, interval, text),
londiste.create_trigger(text,text,text[],text,text)
|