2010-06-09 62 views

Respuesta

98

El "directorio donde PostgreSQL mantendrá todas las bases de datos" (y configuración) se denomina "directorio de datos" y corresponde a lo que PostgreSQL llama (un poco confusamente) un "database cluster", que no está relacionado con la computación distribuida, solo significa un grupo de bases de datos y objetos relacionados administrados por un servidor PostgreSQL.

La ubicación del directorio de datos depende de la distribución. Si instala desde el origen, el valor predeterminado es /usr/local/pgsql/data:

En términos del sistema de archivos, un cluster de base de datos será un único directorio bajo las cuales se almacenarán todos los datos. Llamamos a esto el directorio de datos o el área de datos . Depende completamente de usted donde elige almacenar sus datos. No hay un valor predeterminado, aunque las ubicaciones como /usr/local/pgsql/data o /var/lib/pgsql/data son populares. (ref)

Además, una instancia de un servidor PostgreSQL funcionamiento está asociado a un racimo; la ubicación de su directorio de datos se puede pasar al daemon del servidor ("postmaster" o "postgres") en la opción de línea de comando -D, o por la variable de entorno PGDATA (generalmente en el ámbito del usuario en ejecución, generalmente postgres). Generalmente, usted puede ver el servidor que ejecuta con algo como esto:

[[email protected] ~]# ps auxw | grep postgres | grep -- -D 
postgres 1535 0.0 0.1 39768 1584 ?  S May17 0:23 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data 

Tenga en cuenta que es posible, aunque no es muy frecuente, para ejecutar dos instancias del mismo servidor PostgreSQL (mismos binarios, procesos diferentes) que sirven diferente " clusters "(directorios de datos). Por supuesto, cada instancia escucharía en su propio puerto TCP/IP.

42
/var/lib/postgresql/[version]/data/ 

Al menos en Gentoo Linux y Ubuntu 14.04 por defecto.

Puede encontrar postgresql.conf y mirar el param data_directory. Si se comenta, entonces el directorio de la base de datos es el mismo que este directorio de archivos de configuración.

+14

Dependiendo de la distribución, todas lo harán de forma ligeramente diferente. Si puede conectarse al sistema, usar "SHOW data_directory" es probablemente la manera más fácil. –

+0

@MagnusHagander es una respuesta, y no haces de este comentario una respuesta. Funciono bien para mi. – Vishal

+0

en Gnome Veo lo mismo aquí '/ var/lib/8.1/postgresql' –

8

en CentOS 6.5/PostgreSQL 9.3:

Cambiar el valor de "PGDATA=/var/lib/pgsql/data" a la ubicación que desee en el archivo de guión inicial /etc/init.d/postgresql.

Recuerde chmod 700 y chown postgres:postgres a la nueva ubicación y usted es el jefe.

12

por defecto en Debian 8.1 y PostgreSQL 9.4 después de la instalación con el gestor de paquetes apt-get

ps auxw | grep postgres | grep -- -D 
postgres 17340 0.0 0.5 226700 21756 ?  S 09:50 0:00 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf 

tan aparentemente /var/lib/postgresql/9.4/main.

Cuestiones relacionadas