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.





At 2024-06-24 03:38:21, "Ron Johnson" <ronljohnso...@gmail.com> wrote:

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