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

¿Cómo configurar postgresql por primera vez?

Las otras respuestas no fueron del todo satisfactorias para mí. Esto es lo que funcionó para postgresql-9.1 en Xubuntu 12.04.1 LTS.

  1. Conéctese a la base de datos predeterminada con el usuario postgres:

    sudo -u postgres psql template1

  2. Establezca la contraseña para el usuario postgres, luego salga de psql (Ctrl-D):

    ALTER USER postgres con contraseña cifrada 'xxxxxxx';

  3. Edite el pg_hba.conf archivo:

    sudo vim /etc/postgresql/9.1/main/pg_hba.conf

    y cambie "peer" a "md5" en la línea relativa a postgres:

    local      todos     postgres compañero md5

    Para saber qué versión de postgresql está ejecutando, busque la carpeta de la versión en /etc/postgresql . Además, puede usar Nano u otro editor en lugar de VIM.

  4. Reinicie la base de datos:

    sudo /etc/init.d/postgresql reiniciar

    (Aquí puedes comprobar si funcionó con psql -U postgres ).

  5. Crea un usuario con el mismo nombre que tú (para encontrarlo, puedes escribir whoami ):

    sudo createuser -U postgres -d -e -E -l -P -r -s <my_name>

    Las opciones le dicen a postgresql que cree un usuario que pueda iniciar sesión, crear bases de datos, crear nuevos roles, es un superusuario y tendrá una contraseña cifrada. Los realmente importantes son -P -E, para que se le pida que escriba la contraseña que se cifrará, y -d para que pueda hacer un createdb .

    Cuidado con las contraseñas :primero te pedirá dos veces la nueva contraseña (para el nuevo usuario), repetida, y luego una vez la contraseña de postgres (la especificada en el paso 2).

  6. Nuevamente, edite el pg_hba.conf (consulte el paso 3 anterior) y cambie "peer" a "md5" en la línea relativa a "todos" los demás usuarios:

    local      todos     todos compañero md5

  7. Reinicie (como en el paso 4) y compruebe que puede iniciar sesión sin -U postgres:

    plantilla psql1

    Tenga en cuenta que si hace un mero psql , fallará ya que intentará conectarlo a una base de datos predeterminada que tenga el mismo nombre que usted (es decir, whoami ). template1 es la base de datos de administración que está aquí desde el principio.

  8. Ahora createdb <dbname> debería funcionar.