Better to run now, and save yourself hassle in the future:
ALTER ROLE "Baba" RENAME TO baba;

Also, use a .pgpass file:
https://www.postgresql.org/docs/14/libpq-pgpass.html

On Sun, Jun 23, 2024 at 3:22 PM 毛毛 <kr...@163.com> wrote:

>
>
> Thank you! You are right!
>
> After putting quotes around the username, it works!
>
>
>
> 在 2024-06-24 02:47:44,"David G. Johnston" <david.g.johns...@gmail.com> 写道:
>
>
>
> On Sun, Jun 23, 2024, 11:43 毛毛 <kr...@163.com> wrote:
>
>> Hi,
>>
>> I tried to create a user with CREATEDB permission.
>> Then I wanted to run command line tool `createdb` with this newly created
>> user.
>>
>> So I ran SQL first to create a user:
>>
>> ```
>> CREATE USER Baba WITH PASSWORD 'xxx' CREATEDB;
>> ```
>>
>> Then I run the following command on PowerShell on Windows 10:
>>
>> ```
>>  createdb -U Baba -W test_db
>> ```
>>
>> But no mater how I tried, the password always failed.
>>
>> If I specify the user as postgres, the defaut user, everything works fine.
>>
>> ```
>> createdb -U postgres -W test_db_1
>> ```
>>
>> Do you have any suggestions?
>>
>
>
> You named the user "baba" all lower-case but your createdb command uses
> Baba and in the OS the case-folding of identifiers does not happen.  Baba
> != baba  is your issue.
>
> David J.
>
>

Reply via email to