When i type psql template1 and then tab, i don't get the user "myuser" and don't know why.
É o preenchimento programável que está em jogo aqui. Parece que, para psql
, a aba não sugere uma lista de nomes de usuários na linha de comando quando o cursor está após um nome de banco de dados. No entanto, se produz essa lista, quando o cursor estiver atrás de -U
.
Não está claro como é complicado criar um banco de dados.
Supondo que você possa entrar no psql com psql template1 myuser
, apenas emita o comando SQL
CREATE DATABASE dbname;
Se essa invocação do psql falhar, provavelmente é porque a política de pg_hba.conf
para a conexão de soquete do domínio Unix é peer
. Haverá uma mensagem de erro explícita dizendo isso.
Nesse caso, use psql -U username -h localhost -d template1
Outro método é criar o banco de dados a partir de uma conta de superusuário (normalmente postgres
) exatamente como você criou o usuário e deixar a propriedade desse usuário ( OWNER
option de CREATE DATABASE
).