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.
-
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
-
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.
- 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 comopostgres
. - 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 deSA
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. - 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.