¿Cuál es el directorio predeterminado donde PostgreSQL mantendrá todas las bases de datos en Linux?
linux
postgresql
gruszczy
fuente
fuente
Respuestas:
El " directorio donde postgresql mantendrá todas las bases de datos " (y la configuración) se llama "directorio de datos" y corresponde a lo que PostgreSQL llama (un poco confuso) un " clúster de base de datos ", que no está relacionado con la computación distribuida, solo significa un grupo de bases de datos y objetos relacionados gestionados por un servidor PostgreSQL.
La ubicación del directorio de datos depende de la distribución. Si instala desde la fuente, el valor predeterminado es
/usr/local/pgsql/data
:Además, una instancia de un servidor PostgreSQL en ejecución está asociada a un clúster; la ubicación de su directorio de datos se puede pasar al demonio del servidor (" postmaster " o " postgres ") en la
-D
opción de línea de comando, o por laPGDATA
variable de entorno (generalmente en el alcance del usuario que ejecuta, típicamentepostgres
). Por lo general, puede ver el servidor en ejecución con algo como esto:Tenga en cuenta que es posible, aunque no muy frecuente, ejecutar dos instancias del mismo servidor PostgreSQL (mismos binarios, procesos diferentes) que sirven a diferentes "clústeres" (directorios de datos). Por supuesto, cada instancia escucharía en su propio puerto TCP / IP.
fuente
Al menos en Gentoo Linux y Ubuntu 14.04 por defecto.
Puede buscar
postgresql.conf
y mirar paramdata_directory
. Si se comenta, el directorio de la base de datos es el mismo que este directorio de archivos de configuración.fuente
/var/lib/8.1/postgresql
/var/lib/pgsql/9.3
Conéctese a una base de datos y ejecute el comando:
Más información:
https://www.postgresql.org/docs/current/sql-show.html https://www.postgresql.org/docs/current/runtime-config-file-locations.html
fuente
Por defecto en Debian 8.1 y PostgreSQL 9.4 después de la instalación con el administrador de paquetes apt-get
tan aparentemente
/var/lib/postgresql/9.4/main
.fuente
En Centos 6.5 / PostgreSQL 9.3:
Cambie el valor de
"PGDATA=/var/lib/pgsql/data"
a la ubicación que desee en el archivo de secuencia de comandos inicial/etc/init.d/postgresql
.Recuerde que debe
chmod 700
ychown postgres:postgres
a la nueva ubicación y usted es el jefe.fuente
El comando
pg_lsclusters
(al menos en Linux / Ubuntu) se puede usar para listar los clústeres existentes y con él también el directorio de datos:fuente
Creo que el mejor método es consultar la
pg_setting
vista:Salida:
fuente
La siguiente consulta ayudará a encontrar el archivo de configuración de Postgres.
fuente