On Fri, Apr 23, 2021 at 6:27 PM tsunakawa.takay@fujitsu.com
<tsunakawa.takay@fujitsu.com> wrote:
> From: Thomas Munro <thomas.munro@gmail.com>
> > I'm not quite sure where it belongs, though. The attached initial sketch patch
>
> I think that's a good attempt. It'd be better to confirm that the database contents are identical on the primary and
standby. But... I remember when I ran make installcheck with a standby connected, then ran pg_dumpall on both the
primaryand standby and compare the two output files, about 40 lines of difference were observed. Those differences
wereall about the sequence values. I didn't think about whether I should/can remove the differences.
Interesting idea. I hadn't noticed the thing with sequences before.
> +# XXX The tablespace tests don't currently work when the standby shares a
> +# filesystem with the primary due to colliding absolute paths. We'll skip
> +# that for now.
>
> Maybe we had better have a hidden feature that creates tablespace contents in
>
> /tablespace_location/PG_..._<some_name>/
>
> <some_name> is the value of cluster_name or application_name.
>
> Or, we may provide a visible feature that allows users to store tablespace contents in a specified directory
regardlessof the LOCATION value in CREATE TABLESPACE. For instance, add a GUC like
>
> table_space_directory = '/some_dir'
>
> Then, the tablespace contents are stored in /some_dir/<tablespace_name>/. This may be useful if a DBaaS provider
wantsto offer some tablespace-based feature, say tablespace transparent data encryption, but doesn't want users to
specifyfilesystem directories.
Yeah, a few similar ideas have been put forward before, for example in
this thread:
https://www.postgresql.org/message-id/flat/CALfoeisEF92F5nJ-aAcuWTvF_Aogxq_1bHLem_kVfM_tHc2mfg%40mail.gmail.com
... but also others. I would definitely like to fix that problem too
(having worked on several things that interact with tablespaces, I
definitely want to be able to extend those tests in future patches,
and get coverage on the build farm and CI), but with --skip-tests that
could be done independently.
Apparently the invocation of make failed for some reason on CI (not
sure why, works for me), but in any case, that feels a bit clunky and
might not ever work on Windows, so perhaps we should figure out how to
invoke the pg_regress[.exe] program directly.