PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como faço login e autentico no Postgresql após uma nova instalação?


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.

  1. 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
    

  2. 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 o postgres do 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.
  1. Normalmente, está bloqueado no sistema operacional. Ninguém deve "fazer login" no sistema operacional como postgres . Você deveria ter root para autenticar como postgres .
  2. Normalmente, não é protegido por senha e delega ao sistema operacional do host. Isso é uma coisa boa . Isso normalmente significa fazer login como postgres que é o equivalente do PostgreSQL ao SA do 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.
  3. 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.