On 2/11/20 11:31 PM, Andrus wrote:
Hi!
Thank you.
 >pg_dumpall creates an SQL file which is just a simple text file
 >you can then edit sql removing postgres user from  the file
>This can be automated in a script that searches the generated sql file for the postgres user  replacing it with a blank/empty line or adds -- to the bringing of >the line which comments it out. This script creates cluster copy in every night. So this should be done automatically.
I have little experience with Linux.
Can you provide example, how it should it be done using sed or other tool.
There is also second user named dbandmin whose password  cannot changed also. It would be best if  CREATE ROLE and ALTER ROLE  clauses for postgres and dbadmin users are removed for file.

Then we would get all sorts of posts about why they are not showing up anymore. This suggestion is a non starter.

Or if this is not reasonable, same passwords or different role names can used in both clusters.

They can be, you just have to track/manipulate that yourself. What it comes down to is that the Postgres project is not the admin for everyone's install.

Also I dont understand why GRANTED BY clauses appear in file. This looks like noice.
GRANT documentation
https://www.postgresql.org/docs/current/sql-grant.html
does not contain GRANTED BY clause. It looks like pg_dumpall generates undocumented clause.

It is not noise, see:

~/src/bin/pg_dump/pg_dumpall.cpg_dumpall.c

/*
* We don't track the grantor very carefully in the backend, so cope
* with the possibility that it has been dropped.
*/
                if (!PQgetisnull(res, i, 3))
                {
                        char       *grantor = PQgetvalue(res, i, 3);

                        fprintf(OPF, " GRANTED BY %s", fmtId(grantor));
                }
                fprintf(OPF, ";\n");


Andrus.


--
Adrian Klaver
adrian.kla...@aklaver.com


Reply via email to