mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
Adjust new pg_read_file() test cases for more portability.
It's allowed for an installation to remove postgresql.auto.conf, so don't rely on that being present. Instead probe whether we can read postmaster.pid. (If you've removed that, you broke the data directory's multiple-postmaster interlock, not to mention pg_ctl.) Per gripe from Michael Paquier. Discussion: https://postgr.es/m/YuSZTsoBMObyY+vT@paquier.xyz
This commit is contained in:
parent
212bdc0cbc
commit
d10fad96c6
@ -373,16 +373,16 @@ select count(*) >= 0 as ok from pg_ls_archive_statusdir();
|
||||
(1 row)
|
||||
|
||||
-- pg_read_file()
|
||||
select length(pg_read_file('postgresql.auto.conf')) > 30;
|
||||
select length(pg_read_file('postmaster.pid')) > 20;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
select length(pg_read_file('postgresql.auto.conf', 1, 30));
|
||||
select length(pg_read_file('postmaster.pid', 1, 20));
|
||||
length
|
||||
--------
|
||||
30
|
||||
20
|
||||
(1 row)
|
||||
|
||||
-- Test missing_ok
|
||||
@ -400,16 +400,16 @@ ERROR: requested length cannot be negative
|
||||
select pg_read_file('does not exist', 0, -1, true); -- error
|
||||
ERROR: requested length cannot be negative
|
||||
-- pg_read_binary_file()
|
||||
select length(pg_read_binary_file('postgresql.auto.conf')) > 30;
|
||||
select length(pg_read_binary_file('postmaster.pid')) > 20;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
select length(pg_read_binary_file('postgresql.auto.conf', 1, 30));
|
||||
select length(pg_read_binary_file('postmaster.pid', 1, 20));
|
||||
length
|
||||
--------
|
||||
30
|
||||
20
|
||||
(1 row)
|
||||
|
||||
-- Test missing_ok
|
||||
@ -427,7 +427,7 @@ ERROR: requested length cannot be negative
|
||||
select pg_read_binary_file('does not exist', 0, -1, true); -- error
|
||||
ERROR: requested length cannot be negative
|
||||
-- pg_stat_file()
|
||||
select size > 30, isdir from pg_stat_file('postgresql.auto.conf');
|
||||
select size > 20, isdir from pg_stat_file('postmaster.pid');
|
||||
?column? | isdir
|
||||
----------+-------
|
||||
t | f
|
||||
|
@ -124,8 +124,8 @@ from (select pg_ls_waldir() w) ss where length((w).name) = 24 limit 1;
|
||||
select count(*) >= 0 as ok from pg_ls_archive_statusdir();
|
||||
|
||||
-- pg_read_file()
|
||||
select length(pg_read_file('postgresql.auto.conf')) > 30;
|
||||
select length(pg_read_file('postgresql.auto.conf', 1, 30));
|
||||
select length(pg_read_file('postmaster.pid')) > 20;
|
||||
select length(pg_read_file('postmaster.pid', 1, 20));
|
||||
-- Test missing_ok
|
||||
select pg_read_file('does not exist'); -- error
|
||||
select pg_read_file('does not exist', true) IS NULL; -- ok
|
||||
@ -134,8 +134,8 @@ select pg_read_file('does not exist', 0, -1); -- error
|
||||
select pg_read_file('does not exist', 0, -1, true); -- error
|
||||
|
||||
-- pg_read_binary_file()
|
||||
select length(pg_read_binary_file('postgresql.auto.conf')) > 30;
|
||||
select length(pg_read_binary_file('postgresql.auto.conf', 1, 30));
|
||||
select length(pg_read_binary_file('postmaster.pid')) > 20;
|
||||
select length(pg_read_binary_file('postmaster.pid', 1, 20));
|
||||
-- Test missing_ok
|
||||
select pg_read_binary_file('does not exist'); -- error
|
||||
select pg_read_binary_file('does not exist', true) IS NULL; -- ok
|
||||
@ -144,7 +144,7 @@ select pg_read_binary_file('does not exist', 0, -1); -- error
|
||||
select pg_read_binary_file('does not exist', 0, -1, true); -- error
|
||||
|
||||
-- pg_stat_file()
|
||||
select size > 30, isdir from pg_stat_file('postgresql.auto.conf');
|
||||
select size > 20, isdir from pg_stat_file('postmaster.pid');
|
||||
|
||||
-- pg_ls_dir()
|
||||
select * from (select pg_ls_dir('.') a) a where a = 'base' limit 1;
|
||||
|
Loading…
Reference in New Issue
Block a user