Thank you for your advice.
.pgpass file would help a lot.
I recently started to writing SQL on PostgreSQL.
I think I should use capitial letters as sparingly as possible for identifiers.
Better to run now, and save yourself hassle in the future:
ALTER ROLE "Baba" RENAME TO baba;
Thank you! You are right!
After putting quotes around the username, it works!
在 2024-06-24 02:47:44,"David G. Johnston" <david.g.johnston@gmail.com> 写道:
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.