Re: pg_dump versus ancient server versions

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Justin Pryzby <pryzby@telsasoft.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, pgsql-hackers@lists.postgresql.org, Andres Freund <andres@anarazel.de>
Date: 2021-10-26T17:41:32Z
Lists: pgsql-hackers
On 10/25/21 19:12, Justin Pryzby wrote:
> On Mon, Oct 25, 2021 at 11:38:51AM -0400, Tom Lane wrote:
>> Andrew Dunstan <andrew@dunslane.net> writes:
>>> On 10/25/21 10:23, Tom Lane wrote:
>>>> (Hmmm ... but disk space could
>>>> become a problem, particularly on older machines with not so much
>>>> disk.  Do we really need to maintain a separate checkout for each
>>>> branch?  It seems like a fresh checkout from the repo would be
>>>> little more expensive than the current copy-a-checkout process.)
>>> If you set it up with these settings then the disk space used is minimal:
>>>      git_use_workdirs => 1,
>>>      rm_worktrees => 1,
>> Maybe we should make those the defaults?  AFAICS the current
>> default setup uses circa 200MB per back branch, even between runs.
>> I'm not sure what that is buying us.
> Maybe git's shared/"alternates" would be helpful to minimize the size of
> .git/objects?
>
> I'm not sure - it looks like the BF client does its own stuff with symlinks.
> Is that for compatibility with old git ?
> https://github.com/PGBuildFarm/client-code/blob/main/PGBuild/SCM.pm


It's actually based on the git contrib script git-new-workdir. And using
it is the default (except on Windows, where it doesn't work due to
issues with symlinking plain files :-( )

Since what we have is not broken I'm not inclined to fix it.

The issue Tom was complaining about is different, namely the storage for
each branch's working tree. As I mentioned upthread, you can alleviate
that by setting "rm_worktrees => 1" in your config. That works
everywhere, including Windows, and will be the default in the next
buildfarm release.


cheers


andrew


-- 

Andrew Dunstan
EDB: https://www.enterprisedb.com




Commits

  1. Remove psql support for server versions preceding 9.2.

  2. Clean up some more freshly-dead code in pg_dump and pg_upgrade.

  3. Remove pg_dump's --no-synchronized-snapshots switch.

  4. Remove pg_upgrade support for upgrading from pre-9.2 servers.

  5. Remove pg_dump/pg_dumpall support for dumping from pre-9.2 servers.

  6. Suppress -Warray-bounds warning in 9.2's xlog.c.

  7. Suppress -Wformat-overflow warnings in 9.2's xml.c.

  8. Disable -Wsometimes-uninitialized warnings in the 9.2 branch.

  9. Fix function return type confusion

  10. Fix compiler warning

  11. Silence another gcc 11 warning.

  12. Suppress uninitialized-variable warning in guc.c.

  13. Suppress -Warray-parameter warnings in pgcrypto/sha2.c.

  14. Reformat imath.c macro to remove -Wmisleading-indentation warnings.

  15. Clean up compilation warnings coming from PL/Perl with clang-12~

  16. Make ecpg's rjulmdy() and rmdyjul() agree with their declarations.

  17. Use -Wno-format-truncation and -Wno-stringop-truncation, if available.

  18. Make pg_upgrade's test.sh less chatty.

  19. Add checks for valid multibyte character length in UtfToLocal, LocalToUtf.

  20. Use return instead of exit() in configure

  21. Add support for Visual Studio 2019 in build scripts