ruta postgres las guardan guarda donde datos carpeta cambiar bases postgresql

postgresql - postgres - donde se guardan las bases de datos en linux



¿Dónde almacena PostgreSQL la base de datos? (11)

Abra pgAdmin y vaya a Propiedades para la base de datos específica. Encuentra OID y luego abre el directorio

<POSTGRESQL_DIRECTORY>/data/base/<OID>

Debe haber sus archivos de base de datos.

¿Dónde se almacenan los archivos para una base de datos PostgreSQL?


Apostaría a que está haciendo esta pregunta porque ha intentado pg_ctl start y ha recibido el siguiente error:

pg_ctl: no se especificó el directorio de la base de datos y la variable de entorno no está configurada PGDATA

En otras palabras, está buscando el directorio para poner después de -D en su pg_ctl start .

En este caso, el directorio que está buscando contiene estos archivos.

PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf base pg_hba.conf pg_notify pg_stat pg_twophase postmaster.opts global pg_ident.conf pg_replslot pg_stat_tmp pg_xlog postmaster.pid pg_clog pg_logical pg_serial pg_subtrans postgresql.auto.conf server.log

Puede ubicarlo ubicando 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:

pg_ctl -D /usr/local/var/postgres -w start

... y funciona.


Bajo mi instalación de Linux, está aquí: /var/lib/postgresql/8.x/

Puedes cambiarlo con initdb -D "c:/mydb/"



En Mac: /Library/PostgreSQL/9.0/data/base

No se puede ingresar al directorio, pero puede ver el contenido a través de: sudo du -hc data


En Windows, el directorio PGDATA que describen los documentos de PostgresSQL se encuentra en algún lugar como C:/Program Files/PostgreSQL/8.1/data . Los datos para una base de datos en particular se encuentran en (por ejemplo) C:/Program Files/PostgreSQL/8.1/data/base/100929 , donde supongo que 100929 es el número de la base de datos.


En Windows7, todas las bases de datos están referidas por un número en el archivo llamado pg_database en C:/Program Files (x86)/PostgreSQL/8.2/data/global . Luego, debe buscar el nombre de la carpeta por ese número en C:/Program Files (x86)/PostgreSQL/8.2/data/base . Ese es el contenido de la base de datos.


La ubicación de tablas / índices específicos puede ser ajustada por TABLESPACEs:

CREATE TABLESPACE dbspace LOCATION ''/data/dbs''; CREATE TABLE something (......) TABLESPACE dbspace; CREATE TABLE otherthing (......) TABLESPACE dbspace;


Para ver dónde está el directorio de datos, utilice esta consulta.

show data_directory;

Para ver todos los parámetros de tiempo de ejecución, use

show all;

Puede crear espacios de tabla para almacenar objetos de base de datos en otras partes del sistema de archivos. Para ver los espacios de tablas, que pueden no estar en ese directorio de datos, use esta consulta.

SELECT * FROM pg_tablespace;


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 ejecutando SHOW data_directory . en un sistema operativo similar a 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):

SELECT oid from pg_database WHERE datname = <database_name>;

Encuentre el nombre del archivo de la tabla ejecutando (Da un número entero. Este es el nombre del archivo):

SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;

Este es un archivo binario. Los detalles del archivo, como el tamaño y la fecha de creación, se pueden obtener de la manera habitual Para más información lea este hilo de SO


Todos ya respondieron pero solo por las últimas actualizaciones. Si desea saber dónde residen todos los archivos de configuración, ejecute este comando en el shell

SELECT name, setting FROM pg_settings WHERE category = ''File Locations'';