> Bruce Momjian wrote:
> Tom Lane wrote:
>> Bruce Momjian writes:
>>> One question I have is why we even bother to allow the database
>>> username to be specified? Shouldn't we just hard-code that to
>>> 'postgres'?
>>
>> Only if you want to render pg_upgrade unusable by a significant
>> fraction of people. "postgres" is not the hard wired name of the
>> bootstrap superuser.
>
> I was really wondering if I should be using that hard-coded name,
> rather than allowing the user to supply it. They have to compile in
> a different name, and I assume that name is accessible somewhere.
At home, on my ubuntu machine, I built and ran initdb without
specifying a superuser. It used my OS login of "kevin". Then,
test=# \du List of rolesRole name | Attributes | Member
of
-----------+------------------------------------------------+--------
---kevin | Superuser, Create role, Create DB, Replication | {}
test=# create user xxx superuser;
CREATE ROLE
test=# \c test xxx
You are now connected to database "test" as user "xxx".
test=# alter user kevin rename to yyy;
ALTER ROLE
test=# \du List of rolesRole name | Attributes | Member
of
-----------+------------------------------------------------+--------
---xxx | Superuser, Replication | {}yyy | Superuser, Create role, Create DB,
Replication| {}
If I run pg_upgrade now, what will it pick? How?
-Kevin