Existem dois métodos que você pode usar. Ambos exigem a criação de um usuário e um banco de dados.
Por padrão, o psql se conecta ao banco de dados com o mesmo nome do usuário. Portanto, existe uma convenção para fazer com que o "banco de dados do usuário" . E não há razão para quebrar essa convenção se seu usuário precisar apenas de um banco de dados. Usaremos
mydatabase como o nome do banco de dados de exemplo. -
Usando createuser e createdb , podemos ser explícitos sobre o nome do banco de dados,
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabase
Você provavelmente deveria estar omitindo isso completamente e deixando todos os comandos padronizados para o nome do usuário.
$ sudo -u postgres createuser -s $USER $ createdb $ psql -
Usando os comandos de administração SQL e conectando-se com uma senha por TCP
$ sudo -u postgres psql postgres
E, em seguida, no shell do psql
CREATE ROLE myuser LOGIN PASSWORD 'mypass'; CREATE DATABASE mydatabase WITH OWNER = myuser;
Então você pode fazer o login,
$ psql -h localhost -d mydatabase -U myuser -p <port>
Se você não conhece a porta, você sempre pode obtê-la executando o seguinte, como opostgresdo utilizador,
SHOW port;
Ou,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
Nota:o postgres usuário
Eu sugiro NÃO modificando o
postgres do utilizador. - Normalmente, está bloqueado no sistema operacional. Ninguém deve "fazer login" no sistema operacional como
postgres. Você deveria ter root para autenticar comopostgres. - Normalmente, não é protegido por senha e delega ao sistema operacional do host. Isso é uma coisa boa . Isso normalmente significa fazer login como
postgresque é o equivalente do PostgreSQL aoSAdo SQL Server , você precisa ter acesso de gravação aos arquivos de dados subjacentes. E isso significa que você normalmente pode causar estragos de qualquer maneira. - Ao manter isso desativado, você elimina o risco de um ataque de força bruta por meio de um superusuário nomeado. Ocultar e ocultar o nome do superusuário tem vantagens.