mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-07 13:29:24 +02:00
d1e027221d
In addition, add support for a "payload" string to be passed along with each notify event. This implementation should be significantly more efficient than the old one, and is also more compatible with Hot Standby usage. There is not yet any facility for HS slaves to receive notifications generated on the master, although such a thing is possible in future. Joachim Wieland, reviewed by Jeff Davis; also hacked on by me.
175 lines
5.2 KiB
Plaintext
175 lines
5.2 KiB
Plaintext
VACUUM;
|
|
--
|
|
-- sanity check, if we don't have indices the test will take years to
|
|
-- complete. But skip TOAST relations (since they will have varying
|
|
-- names depending on the current OID counter) as well as temp tables
|
|
-- of other backends (to avoid timing-dependent behavior).
|
|
--
|
|
SELECT relname, relhasindex
|
|
FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace
|
|
WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE
|
|
ORDER BY relname;
|
|
relname | relhasindex
|
|
-------------------------+-------------
|
|
a | f
|
|
a_star | f
|
|
abstime_tbl | f
|
|
aggtest | f
|
|
array_index_op_test | t
|
|
array_op_test | f
|
|
b | f
|
|
b_star | f
|
|
box_tbl | f
|
|
bprime | f
|
|
bt_f8_heap | t
|
|
bt_i4_heap | t
|
|
bt_name_heap | t
|
|
bt_txt_heap | t
|
|
c | f
|
|
c_star | f
|
|
char_tbl | f
|
|
check2_tbl | f
|
|
check_tbl | f
|
|
circle_tbl | t
|
|
city | f
|
|
copy_tbl | f
|
|
d | f
|
|
d_star | f
|
|
date_tbl | f
|
|
default_tbl | f
|
|
defaultexpr_tbl | f
|
|
dept | f
|
|
e_star | f
|
|
emp | f
|
|
equipment_r | f
|
|
f_star | f
|
|
fast_emp4000 | t
|
|
float4_tbl | f
|
|
float8_tbl | f
|
|
func_index_heap | t
|
|
hash_f8_heap | t
|
|
hash_i4_heap | t
|
|
hash_name_heap | t
|
|
hash_txt_heap | t
|
|
hobbies_r | f
|
|
ihighway | t
|
|
inet_tbl | f
|
|
inhe | f
|
|
inhf | f
|
|
inhx | t
|
|
insert_tbl | f
|
|
int2_tbl | f
|
|
int4_tbl | f
|
|
int8_tbl | f
|
|
interval_tbl | f
|
|
iportaltest | f
|
|
log_table | f
|
|
lseg_tbl | f
|
|
main_table | f
|
|
money_data | f
|
|
num_data | f
|
|
num_exp_add | t
|
|
num_exp_div | t
|
|
num_exp_ln | t
|
|
num_exp_log10 | t
|
|
num_exp_mul | t
|
|
num_exp_power_10_ln | t
|
|
num_exp_sqrt | t
|
|
num_exp_sub | t
|
|
num_input_test | f
|
|
num_result | f
|
|
onek | t
|
|
onek2 | t
|
|
path_tbl | f
|
|
person | f
|
|
pg_aggregate | t
|
|
pg_am | t
|
|
pg_amop | t
|
|
pg_amproc | t
|
|
pg_attrdef | t
|
|
pg_attribute | t
|
|
pg_auth_members | t
|
|
pg_authid | t
|
|
pg_cast | t
|
|
pg_class | t
|
|
pg_constraint | t
|
|
pg_conversion | t
|
|
pg_database | t
|
|
pg_db_role_setting | t
|
|
pg_default_acl | t
|
|
pg_depend | t
|
|
pg_description | t
|
|
pg_enum | t
|
|
pg_foreign_data_wrapper | t
|
|
pg_foreign_server | t
|
|
pg_index | t
|
|
pg_inherits | t
|
|
pg_language | t
|
|
pg_largeobject | t
|
|
pg_largeobject_metadata | t
|
|
pg_namespace | t
|
|
pg_opclass | t
|
|
pg_operator | t
|
|
pg_opfamily | t
|
|
pg_pltemplate | t
|
|
pg_proc | t
|
|
pg_rewrite | t
|
|
pg_shdepend | t
|
|
pg_shdescription | t
|
|
pg_statistic | t
|
|
pg_tablespace | t
|
|
pg_trigger | t
|
|
pg_ts_config | t
|
|
pg_ts_config_map | t
|
|
pg_ts_dict | t
|
|
pg_ts_parser | t
|
|
pg_ts_template | t
|
|
pg_type | t
|
|
pg_user_mapping | t
|
|
point_tbl | t
|
|
polygon_tbl | t
|
|
ramp | f
|
|
real_city | f
|
|
reltime_tbl | f
|
|
road | t
|
|
shighway | t
|
|
slow_emp4000 | f
|
|
sql_features | f
|
|
sql_implementation_info | f
|
|
sql_languages | f
|
|
sql_packages | f
|
|
sql_parts | f
|
|
sql_sizing | f
|
|
sql_sizing_profiles | f
|
|
stud_emp | f
|
|
student | f
|
|
tenk1 | t
|
|
tenk2 | t
|
|
test_tsvector | f
|
|
text_tbl | f
|
|
time_tbl | f
|
|
timestamp_tbl | f
|
|
timestamptz_tbl | f
|
|
timetz_tbl | f
|
|
tinterval_tbl | f
|
|
varchar_tbl | f
|
|
(142 rows)
|
|
|
|
--
|
|
-- another sanity check: every system catalog that has OIDs should have
|
|
-- a unique index on OID. This ensures that the OIDs will be unique,
|
|
-- even after the OID counter wraps around.
|
|
-- We exclude non-system tables from the check by looking at nspname.
|
|
--
|
|
SELECT relname, nspname
|
|
FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace
|
|
WHERE relhasoids
|
|
AND ((nspname ~ '^pg_') IS NOT FALSE)
|
|
AND NOT EXISTS (SELECT 1 FROM pg_index i WHERE indrelid = c.oid
|
|
AND indkey[0] = -2 AND indnatts = 1
|
|
AND indisunique AND indimmediate);
|
|
relname | nspname
|
|
---------+---------
|
|
(0 rows)
|
|
|