No puedo ejecutar psql
mi cuenta de usuario normal de Mac en la sesión de Terminal, aunque puedo hacerlo con la postgres
cuenta de servicio). Cuando ingreso el comando psql mydb
y escribo mi contraseña, aparece el siguiente mensaje:
WARNING: password file "/Users/beh/.pgpass" has group or world access; permissions should be u=rw (0600) or less
Pero no puedo encontrar .pgpass
.
¿Cómo configuro y agrego usuarios a mi base de datos PostgreSQL 9.1 en Mac OS X 10.6.8?
Respuestas:
El archivo
.pgpass
comienza con un punto y, por lo tanto, está oculto a la vista de forma predeterminada en la mayoría de los administradores de archivos, pero debería poder acceder a él a través de la Terminal. Probablemente no necesite el.pgpass
archivo, por lo que puede ser una buena idea eliminarlo. Si decide conservarlo, edite el archivo de contraseña de acuerdo con la documentación y ejecútelochmod 0600 ~/.pgpass
para corregir los permisos.Las cuentas de usuario de PostgreSQL son independientes del sistema operativo, pero recuerde que, a menos que se especifique en la línea de comandos,
psql
utilizará el nombre de usuario del sistema del usuario actual como nombre de la base de datos y nombre de usuario de PostgreSQL; se producirá un error si una base de datos o usuario con este nombre no existe en el clúster de la base de datos. Para agregar usuarios, ejecutepsql
comopostgres
usuario, luego use los comandosCREATE ROLE
oCREATE USER
SQL. A menos que los usuarios se conecten a la misma base de datos, es posible que desee crear bases de datos para cada usuario para evitar errores.fuente
postgres
usuario utilizando eluserdel
comando (o equivalente, si no está disponible en su sistema) en la Terminal, luego elimine el clúster de la base de datos (almacenado/usr/local/var/postgres
de forma predeterminada) y reinstale PostgreSQL (que recreará automáticamente lapostgres
cuenta). Si el clúster de la base de datos no se recrea automáticamente, hágalo en la misma ubicación donde se eliminó con el comando initdb .