tutorial sirve que para instalar como postgresql

sirve - postgresql version



Createuser: no se pudo conectar a la base de datos postgres: FATAL: rol "tom" no existe (7)

1- Iniciar sesión como usuario predeterminado de PostgreSQL (postgres)

sudo -u postgres -i

2- Como usuario de postgres. Agregue un nuevo usuario de base de datos utilizando el comando createuser

[postgres]$ createuser --interactive

3-salida

[postgres]$ exit

Estoy intentando configurar Postgres por primera vez, y necesito crear un usuario con permisos para leer y crear bases de datos. Sin embargo, cuando uso "username de createuser" en mi terminal recibo el siguiente mensaje:

createuser: no se pudo conectar a la base de datos postgres: FATAL: rol "tom" no existe

Tom es mi cuenta de usuario de Ubuntu en la que estoy conectado en este momento. Intento crear un nombre de usuario de "postgres" y luego hacer una "psql -U psql template1" para poder crear una base de datos y asignarle un propietario para mi aplicación Rails.

¿Alguna ayuda?


Mencionaste Ubuntu, así que voy a adivinar que instalaste los paquetes de PostgreSQL desde Ubuntu a través de apt.

Si es así, la cuenta de usuario PostgreSQL de Postgres ya existe y está configurada para ser accesible a través de peer autenticación de peer para los zócalos de Unix en pg_hba.conf . Lo consigues ejecutando comandos como el usuario de Unix postgres , por ejemplo:

sudo -u postgres createuser owning_user sudo -u postgres createdb -O owning_user dbname

Todo esto está en la documentación de Ubuntu PostgreSQL , que es el primer hit de Google para "Ubuntu PostgreSQL" y está cubierto en numerosas preguntas sobre desbordamiento de pila.

(Ha hecho que esta pregunta sea mucho más difícil de responder al omitir detalles como el SO y la versión en la que se encuentra, cómo instaló PostgreSQL, etc.)



Su error fue publicado en la documentación oficial. Puedes leer este artículo .

He copiado el motivo (y enlaces a las URL) de ese artículo:

Esto sucederá si el administrador no ha creado una cuenta de usuario de PostgreSQL para usted. (Las cuentas de usuario de PostgreSQL son distintas de las cuentas de usuario del sistema operativo.) Si usted es el administrador, consulte el Capítulo 20 para obtener ayuda sobre cómo crear cuentas. Tendrá que convertirse en el usuario del sistema operativo bajo el cual se instaló PostgreSQL (generalmente postgres) para crear la primera cuenta de usuario. También podría ser que se le asignó un nombre de usuario PostgreSQL que es diferente del nombre de usuario de su sistema operativo; en ese caso, necesita usar el modificador -U o configurar la variable de entorno PGUSER para especificar su nombre de usuario PostgreSQL

Para sus propósitos, puede hacer:

1) Crear una cuenta de usuario de PostgreSQL:

sudo -u postgres createuser tom -d -P

(la opción -P para establecer una contraseña; la opción -d para permitir la creación de una base de datos para su nombre de usuario ''tom'') Tenga en cuenta que ''tom'' es el nombre de usuario de su sistema operativo. De esta forma, puede ejecutar comandos PostgreSQL sin sudo . )

2) Ahora debería poder ejecutar createdb y otros comandos de PostgreSQL.


Tuve el mismo problema, solo hago esto

sudo su - postgres

createuser odoo -U postgres -dRSP #P para la contraseña ( odoo o nombre de usuario que desea o dar acceso a postgres)


Ver git gist con instrucciones aquí

Ejecuta esto:

psql -U postgres

O

sudo -u postgres psql

en tu terminal para entrar en el postgres

postgres=#

correr

CREATE USER new_username;

Nota: Reemplace new_username con el usuario que desea crear, en su caso será Tom.

postgres=# CREATE USER new_username; CREATE ROLE

Como desea que ese usuario pueda crear una base de datos, debe modificar la función para ser superusuario.

postgres=# ALTER USER new_username SUPERUSER CREATEDB; ALTER ROLE

Para confirmar, todo fue exitoso,

postgres=# /du List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- new_username | Superuser, Create DB | {} postgres | Superuser, Create role, Create DB, Replication | {} root | Superuser, Create role, Create DB | {} postgres=#


sudo -u postgres createuser -s tom

esto debería ayudarlo ya que esto sucederá si el administrador no ha creado una cuenta de usuario de PostgreSQL para usted. También podría ser que se le asignó un nombre de usuario PostgreSQL que es diferente del nombre de usuario de su sistema operativo, en ese caso necesita usar el modificador -U.