sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo inicio sesión y me autentico en Postgresql después de una instalación nueva?

Hay dos métodos que puede utilizar. Ambos requieren la creación de un usuario y una base de datos.

Por defecto, psql se conecta a la base de datos con el mismo nombre que el usuario. Entonces, existe una convención para hacer que la "base de datos del usuario" . Y no hay razón para romper esa convención si su usuario solo necesita una base de datos. Usaremos mydatabase como el nombre de la base de datos de ejemplo.

  1. Uso de createuser y createdb , podemos ser explícitos sobre el nombre de la base de datos,

    $ sudo -u postgres createuser -s $USER
    $ createdb mydatabase
    $ psql -d mydatabase
    

    Probablemente deberías omitirlo por completo y dejar que todos los comandos tengan como valor predeterminado el nombre del usuario.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Uso de los comandos de administración de SQL y conexión con una contraseña a través de TCP

    $ sudo -u postgres psql postgres
    

    Y, luego, en el shell psql

    CREATE ROLE myuser LOGIN PASSWORD 'mypass';
    CREATE DATABASE mydatabase WITH OWNER = myuser;
    

    Entonces puedes iniciar sesión,

    $ psql -h localhost -d mydatabase -U myuser -p <port>
    

    Si no conoce el puerto, siempre puede obtenerlo ejecutando lo siguiente, como postgres usuario,

    SHOW port;
    

    O,

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf
    

Nota al margen:el postgres usuario

Sugiero NO modificando el postgres usuario.

  1. Normalmente está bloqueado desde el sistema operativo. Se supone que nadie debe "iniciar sesión" en el sistema operativo como postgres . Se supone que debes tener root para poder autenticarte como postgres .
  2. Normalmente no está protegido por contraseña y se delega al sistema operativo host. Esto es algo bueno . Esto normalmente significa iniciar sesión como postgres que es el equivalente de PostgreSQL de SA de SQL Server , debe tener acceso de escritura a los archivos de datos subyacentes. Y eso significa que normalmente podrías causar estragos de todos modos.
  3. Al mantener esto deshabilitado, elimina el riesgo de un ataque de fuerza bruta a través de un superusuario designado. Ocultar y oscurecer el nombre del superusuario tiene ventajas.