ADVERTENCIA :trust
significa exactamente eso. Cualquiera que pueda conectarse al servidor PostgreSQL puede controlarlo. Si configura trust
modo que permite a los superusuarios como el usuario postgres
(o all
usuarios) para conectarse, obtienen el control total de su PostgreSQL y probablemente también puedan ejecutar comandos de shell. Por lo general, solo debe usarlo para cambiar la contraseña luego restaure la configuración al modo de autenticación que estaba usando antes.
Si usó una secuencia de comandos de instalación desatendida, la contraseña estará en la secuencia de comandos o en el archivo de configuración asociado.
De lo contrario, trátelo como si hubiera perdido u olvidado la contraseña en lugar de nunca saberla:
- Editar
pg_hba.conf
, configurando el modo de autenticación entrust
en lugar del predeterminadomd5
- En el panel de control de Servicios, reinicie el servicio PostgreSQL
- Conéctese con
psql
o PgAdmin o lo que sea ALTER USER postgres PASSWORD 'mynewpassword';
- Editar
pg_hba.conf
de nuevo y establezca el modo de autenticación de nuevo enmd5
- Reiniciar PostgreSQL de nuevo
pg_hba.conf
está en su directorio de datos. Por defecto será %PROGRAMFILES%\PostgreSQL\9.3\data
.
Para editarlo, deberá usar la pestaña de seguridad para otorgarse permisos de lectura/escritura (a través de un indicador de UAC). Esto puede requerir que te establezcas como propietario del archivo.
En los sistemas Unix, es más seguro anteponer un
local all all peer
línea a pg_hba.conf
y luego sudo -u postgres psql
(asumiendo que su servidor PostgreSQL se ejecuta como usuario postgres
) para obtener un psql
interactivo sesión sin utilizar una contraseña. De esa manera no tienes que usar trust
.