¿Dónde se almacenan los archivos para una base de datos PostgreSQL?
postgresql
Teifion
fuente
fuente
sudo -u postgres psql -c "show data_directory;"
mostrará las ubicaciones de almacenamiento actuales en una instalación estándar de PostgreSQL.Respuestas:
Para ver dónde está el directorio de datos, use esta consulta.
Para ver todos los parámetros de tiempo de ejecución, use
Puede crear espacios de tablas para almacenar objetos de base de datos en otras partes del sistema de archivos. Para ver espacios de tablas, que podrían no estar en ese directorio de datos, use esta consulta.
fuente
En Windows7, todas las bases de datos están referidas por un número en el archivo nombrado
pg_database
debajoC:\Program Files (x86)\PostgreSQL\8.2\data\global
. Luego debe buscar el nombre de la carpeta por ese número debajoC:\Program Files (x86)\PostgreSQL\8.2\data\base
. Ese es el contenido de la base de datos.fuente
Abra pgAdmin y vaya a Propiedades para una base de datos específica. Encuentra OID y luego abre el directorio
Debería haber sus archivos DB.
fuente
SELECT oid from pg_database where datname = '<dbname>'
Como se sugiere en " Ubicación predeterminada de la base de datos PostgreSQL en Linux ", en Linux puede averiguarlo usando el siguiente comando:
fuente
Bajo mi instalación de Linux, está aquí:
/var/lib/postgresql/8.x/
Puedes cambiarlo con
initdb -D "c:/mydb/"
fuente
/var/lib/pgsql/data
. Es mejor averiguarlo usandops auxw|grep postgres|grep -- -D
.La ubicación de tablas / índices específicos se puede ajustar mediante TABLESPACEs:
fuente
Todos ya respondieron pero solo las últimas actualizaciones. Si desea saber dónde residen todos los archivos de configuración, ejecute este comando en el shell
fuente
Apuesto a que estás haciendo esta pregunta porque intentaste
pg_ctl start
y recibiste el siguiente error:En otras palabras, está buscando el directorio para poner después
-D
en supg_ctl start
comando.En este caso, el directorio que busca contiene estos archivos.
Puede localizarlo localizando cualquiera de los archivos y directorios anteriores utilizando la búsqueda provista con su sistema operativo.
Por ejemplo, en mi caso (una instalación de HomeBrew en Mac OS X ), estos archivos se encuentran en
/usr/local/var/postgres
. Para iniciar el servidor escribo:... y funciona.
fuente
brew info postgres
locate <filename>
sudo locate <filename>
Postgres almacena datos en archivos en su directorio de datos. Siga los pasos a continuación para ir a una base de datos y sus archivos:
La base de datos correspondiente a un archivo de tabla postgresql es un directorio. La ubicación de todo el directorio de datos se puede obtener mediante la ejecución
SHOW data_directory
. en un sistema operativo tipo UNIX (por ejemplo: Mac)/Library/PostgreSQL/9.4/data
Vaya dentro de la carpeta base en el directorio de datos que tiene todas las carpetas de la base de datos:/Library/PostgreSQL/9.4/data/base
Encuentre el nombre de la carpeta de la base de datos ejecutando (Da un número entero. Este es el nombre de la carpeta de la base de datos):
Encuentre el nombre del archivo de la tabla ejecutando (Da un número entero. Este es el nombre del archivo):
Este es un archivo binario. Los detalles del archivo, como el tamaño y la fecha y hora de creación, se pueden obtener como de costumbre. Para más información lea este hilo SO
fuente
En Mac:
/Library/PostgreSQL/9.0/data/base
El directorio no se puede ingresar, pero puede ver el contenido a través de:
sudo du -hc data
fuente
/usr/local/var/postgres
que podría descubrir usando elshow data_directory;
consejo de @ MikeSherrill/Library/PostgreSQL/9.0/data/base
parece una ubicación más similar a Mac que/usr/local/var/postgres
. No puede buscar este último en Finder sin habilitar las funciones ocultas del Finder.En Windows, el directorio PGDATA que describen los documentos de PostgresSQL está en algún lugar como
C:\Program Files\PostgreSQL\8.1\data
. Los datos para una base de datos en particular están debajo (por ejemplo)C:\Program Files\PostgreSQL\8.1\data\base\100929
, donde supongo que 100929 es el número de la base de datos.fuente
La respuesta de picmate es correcta. en Windows, la ubicación de la carpeta DB principal es (al menos en mi instalación)
y no en archivos de programa.
Sus 2 scripts le darán el directorio / archivo exacto que necesita:
el mío está en datname 16393 y relfilenode 41603
fuente
Estoy ejecutando postgres (9.5) en un contenedor acoplable (en CentOS, como sucede), y como Skippy le Grand Gourou menciona en un comentario anterior, los archivos se encuentran en
/var/lib/postgresql/data/
.fuente