Modify query on pg_hba_file_rules to check for errors in regression tests
The regression tests include a query to check the execution path of pg_hba_file_rules, but it has never checked that a given cluster has correct contents in pg_hba.conf. This commit extends the query of pg_hba_file_rules to report any errors if anything bad is found. For EXEC_BACKEND builds, any connection attempt would fail when loading pg_hba.conf if any incorrect content is found when parsed, so a failure would be detected before even running this query. However, this can become handy for clusters where pg_hba.conf can be reloaded, where new connection attempts are not subject to a fresh loading of pg_hba.conf. Author: Julien Rouhaud, based on an idea from me Discussion: https://postgr.es/m/YkFhpydhyeNNo3Xl@paquier.xyz
This commit is contained in:
parent
33a377608f
commit
091a971bb5
|
@ -48,11 +48,12 @@ select count(*) >= 0 as ok from pg_file_settings;
|
||||||
t
|
t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- There will surely be at least one rule
|
-- There will surely be at least one rule, with no errors.
|
||||||
select count(*) > 0 as ok from pg_hba_file_rules;
|
select count(*) > 0 as ok, count(*) FILTER (WHERE error IS NOT NULL) = 0 AS no_err
|
||||||
ok
|
from pg_hba_file_rules;
|
||||||
----
|
ok | no_err
|
||||||
t
|
----+--------
|
||||||
|
t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- There will surely be at least one active lock
|
-- There will surely be at least one active lock
|
||||||
|
|
|
@ -25,8 +25,9 @@ select count(*) = 0 as ok from pg_cursors;
|
||||||
|
|
||||||
select count(*) >= 0 as ok from pg_file_settings;
|
select count(*) >= 0 as ok from pg_file_settings;
|
||||||
|
|
||||||
-- There will surely be at least one rule
|
-- There will surely be at least one rule, with no errors.
|
||||||
select count(*) > 0 as ok from pg_hba_file_rules;
|
select count(*) > 0 as ok, count(*) FILTER (WHERE error IS NOT NULL) = 0 AS no_err
|
||||||
|
from pg_hba_file_rules;
|
||||||
|
|
||||||
-- There will surely be at least one active lock
|
-- There will surely be at least one active lock
|
||||||
select count(*) > 0 as ok from pg_locks;
|
select count(*) > 0 as ok from pg_locks;
|
||||||
|
|
Loading…
Reference in New Issue