2012-03-14 17 views
5

Quería cambiar el parámetro "shared_buffers" en mi archivo postgresql.conf.Error al iniciar el servidor PostgreSQL después de la modificación de postgresql.conf con el comando sudo

El problema es que utilicé el comando sudo y daba la propiedad a la raíz.

-rw-rw-rw- 1 root root 13661 Mar 14 15:36 postgresql.conf 

Luego utiliza el siguiente comando para recuperar la propiedad al administrador de correo:

sudo chown postgres:postgres /var/lib/pgsql/data/postgresql.conf 

así que he intentado el comando:

postgres -D /var/lib/pgsql/data 

me fue mal sorprendió al todavía obtener la siguiente mensaje de error

postgres cannot access the server configuration file "/var/lib/pgsql/data/postgresql.conf": Permission denied 

abajo Identificación del resultado del comando "ls" en el directorio realted a PostgreSQL:

sudo ls -l /var/lib/pgsql/data/ 
total 208 
drwx------ 19 postgres postgres 4096 Mar 13 17:23 base 
drwx------ 2 postgres postgres 4096 Mar 14 14:30 global 
drwx------ 2 postgres postgres 4096 Mar 5 14:26 pg_clog 
-rw------- 1 postgres postgres 3365 Mar 1 2006 pg_hba.conf 
-rw------- 1 postgres postgres 3182 Mar 1 2006 pg_hba.conf.old 
-rw------- 1 postgres postgres 1460 Feb 24 2006 pg_ident.conf 
drwx------ 2 postgres postgres 139264 Mar 14 00:00 pg_log 
drwx------ 4 postgres postgres 4096 Feb 24 2006 pg_multixact 
drwx------ 2 postgres postgres 4096 Mar 14 10:42 pg_subtrans 
drwx------ 2 postgres postgres 4096 Feb 24 2006 pg_tblspc 
drwx------ 2 postgres postgres 4096 Feb 24 2006 pg_twophase 
-rw------- 1 postgres postgres  4 Feb 24 2006 PG_VERSION 
drwx------ 3 postgres postgres 4096 Mar 14 14:30 pg_xlog 
-rw-rw-rw- 1 postgres postgres 13661 Mar 14 15:36 postgresql.conf 
-rw------- 1 postgres postgres  49 Jan 2 17:15 postmaster.opts 

Si alguien tiene una idea de que podría ser la manera de solucionar este problema.

Gracias de antemano.

Fred

Respuesta

7

Comprobar cómo es SELinux en marcha:

# sestatus 

Si es en la aplicación de modo de comprobar el registro:

# less /var/log/audit/audit.log 

Si encuentra SELinux bloqueo luego desactivar temporalmente SELinux sólo para confirme que es el culpable:

# setenforce 0 

Ahora intente iniciar el servidor. Si funciona, vuelva a habilitar SELinux:

# setenforce 1 

Busque cómo restaurar la configuración de SELinux para ese archivo.

+0

Muchas gracias por su tiempo. Tengo "bash: sestatus: comando no encontrado". ¿Tienes otra sugerencia en mente? Porque estoy empezando a estar loco después de una tarde navegando por la web sin ninguna pista. –

+0

@Fred Dada la ruta del archivo, pensé que estaba utilizando un sistema operativo derivado de RedHat. ¿Cuál es el sistema operativo? –

+0

FYI: Estoy bajo RedHat Enterprise Linux WS Release 4 –

1

Recibí el mismo error justo después de una nueva instalación.
Primero, los bits del modo de archivos predeterminados de todos los archivos en /var/lib/pgsql/data/ están configurados en 600 y el suyo postgresql.conf tiene 666. Este no es el problema en el caso, pero es bueno mantener las cosas como están.
No estoy familiarizado con la distribución RedHat, pero por los comentarios parece que esto no es un problema con SELinux.
En mi Fedora 20 en ejecución:

$ systemctl start postgresql.service 

parece para ejecutar el servidor.

Y si desea ejecutar algunos comandos en PosgtreSQL por primera vez, como crear su propio usuario para ex. Puede encontrar útil esta pregunta: https://serverfault.com/questions/110154/whats-the-default-superuser-username-password-for-postgres-after-a-new-install

Cuestiones relacionadas