Re: pgsql: Add 'basebackup_to_shell' contrib module.

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>, Andres Freund <andres@anarazel.de>, Thomas Munro <thomas.munro@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Magnus Hagander <magnus@hagander.net>
Date: 2022-03-31T16:25:38Z
Lists: pgsql-hackers

Attachments

On 3/31/22 11:32, Tom Lane wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Thu, Mar 31, 2022 at 10:52 AM Andrew Dunstan <andrew@dunslane.net> wrote:
>>> We should probably fix the test though, so it doesn't require Unix
>>> sockets. It should be possible, although I haven't looked yet to see how.
>> Our mutual colleague Neha Sharma pointed out this email message to me:
>> http://postgr.es/m/106926.1643842376@sss.pgh.pa.us


Yep, that's kinda what I was expecting.


>> I actually don't understand why using pg_regress --auth-extra would
>> fix it, or what that option does, or why we're even running pg_regress
>> at all in PostgreSQL::Test::Cluster::init. I think it might be to fix
>> this exact issue, but there's no SGML documentation for pg_regress,



I really don't know why this stuff is in pg_regress at all. It seems
rather odd to me and it's annoyed me for a while. But that's a fight for
another day.


> I'm not volunteering to fix that, but this comment in pg_regress.c
> is probably adequately illuminating:
>
>  * Rewrite pg_hba.conf and pg_ident.conf to use SSPI authentication.  Permit
>  * the current OS user to authenticate as the bootstrap superuser and as any
>  * user named in a --create-role option.
>
> This script is creating users manually rather than letting the TAP
> infrastructure do it, which is an antipattern.
>
> 			


Yeah, I think the fix is as simple as the attached.


cheers


andrew



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

Commits

  1. Print information about type of test and subdirectory before running tests.

  2. In basebackup_to_shell tests, properly set up pg_hba.conf.

  3. Add .gitignore for basebackup_to_shell.

  4. basebackup_to_shell: Add TAP test.

  5. Document basebackup_to_shell.required_role.

  6. Add 'basebackup_to_shell' contrib module.