Where are the files for a PostgreSQL database stored?
Asclepius
56.4k17 gold badges164 silver badges142 bronze badges
asked Jul 16, 2009 at 11:55
3
To see where the data directory is, use this query.
show data_directory;
To see all the run-time parameters, use
show all;
You can create tablespaces to store database objects in other parts of the filesystem. To see tablespaces, which might not be in that data directory, use this query.
SELECT *, pg_tablespace_location(oid) FROM pg_tablespace;
SukiCZ
3015 silver badges10 bronze badges
answered Nov 23, 2011 at 4:53
6
On Windows7 all the databases are referred by a number in the file named pg_database
under C:Program Files (x86)PostgreSQL8.2dataglobal
. Then you should search for the folder name by that number under C:Program Files (x86)PostgreSQL8.2database
. That is the content of the database.
the Tin Man
158k42 gold badges214 silver badges303 bronze badges
answered Mar 9, 2012 at 7:02
1
Open pgAdmin and go to Properties for specific database. Find OID and then open directory
<POSTGRESQL_DIRECTORY>/data/base/<OID>
There should be your DB files.
answered Oct 27, 2012 at 12:22
Almir SarajčićAlmir Sarajčić
1,5202 gold badges16 silver badges19 bronze badges
1
Under my Linux installation, it’s here: /var/lib/postgresql/8.x/
You can change it with initdb -D "c:/mydb/"
trinth
5,8879 gold badges38 silver badges45 bronze badges
answered Jul 16, 2009 at 11:59
SadeghSadegh
6,5844 gold badges34 silver badges44 bronze badges
2
Everyone already answered but just for the latest updates. If you want to know where all the configuration files reside then run this command in the shell
SELECT name, setting FROM pg_settings WHERE category = 'File Locations';
answered Dec 8, 2017 at 3:25
Saad SaadiSaad Saadi
1,03110 silver badges26 bronze badges
1
I’d bet you’re asking this question because you’ve tried pg_ctl start
and received the following error:
pg_ctl: no database directory specified and environment variable PGDATA unset
In other words, you’re looking for the directory to put after -D
in your pg_ctl start
command.
In this case, the directory you’re looking for contains these files.
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
You can locate it by locating any of the files and directories above using the search provided with your OS.
For example in my case (a HomeBrew install on Mac OS X), these files are located in /usr/local/var/postgres
. To start the server I type:
pg_ctl -D /usr/local/var/postgres -w start
… and it works.
answered Aug 17, 2015 at 16:33
xaggxagg
5085 silver badges11 bronze badges
3
Postgres stores data in files in its data directory. Follow the steps below to go to a database and its files:
The database corresponding to a postgresql table file is a directory. The location of the entire data directory can be obtained by running SHOW data_directory
.
in a UNIX like OS (eg: Mac) /Library/PostgreSQL/9.4/data
Go inside the base folder in the data directory which has all the database folders: /Library/PostgreSQL/9.4/data/base
Find the database folder name by running (Gives an integer. This is the database folder name):
SELECT oid from pg_database WHERE datname = <database_name>;
Find the table file name by running (Gives an integer. This is the file name):
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
This is a binary file. File details such as size and creation date time can be obtained as usual. For more info read this SO thread
answered Jun 10, 2015 at 16:04
picmate 涅picmate 涅
3,9015 gold badges43 silver badges52 bronze badges
The location of specific tables/indexes can be adjusted by TABLESPACEs:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
CREATE TABLE something (......) TABLESPACE dbspace;
CREATE TABLE otherthing (......) TABLESPACE dbspace;
the Tin Man
158k42 gold badges214 silver badges303 bronze badges
answered Jul 16, 2009 at 12:14
ymvymv
2,12313 silver badges20 bronze badges
On Mac: /Library/PostgreSQL/9.0/data/base
The directory can’t be entered, but you can look at the content via: sudo du -hc data
answered Mar 1, 2011 at 3:33
evgenievgeni
1,6453 gold badges22 silver badges29 bronze badges
6
picmate’s answer is right. on windows the main DB folder location is (at least on my installation)
C:PostgreSQL9.2database
and not in program files.
his 2 scripts, will give you the exact directory/file(s) you need:
SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
mine is in datname 16393 and relfilenode 41603
answered Mar 28, 2019 at 0:25
k3nnk3nn
1311 silver badge6 bronze badges
1
On Windows, the PGDATA directory that the PostgresSQL docs describe is at somewhere like C:Program FilesPostgreSQL8.1data
. The data for a particular database is under (for example) C:Program FilesPostgreSQL8.1database100929
, where I guess 100929 is the database number.
answered Sep 14, 2009 at 22:01
Ben HoytBen Hoyt
10.6k5 gold badges59 silver badges84 bronze badges
3
I’m running postgres (9.5) in a docker container (on CentOS, as it happens), and as Skippy le Grand Gourou mentions in a comment above, the files are located in /var/lib/postgresql/data/
.
$ docker exec -it my-postgres-db-container bash
root@c7d61efe2a5d:/# cd /var/lib/postgresql/data/
root@c7d61efe2a5d:/var/lib/postgresql/data# ls -lh
total 56K
drwx------. 7 postgres postgres 71 Apr 5 2018 base
drwx------. 2 postgres postgres 4.0K Nov 2 02:42 global
drwx------. 2 postgres postgres 18 Dec 27 2017 pg_clog
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_commit_ts
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_dynshmem
-rw-------. 1 postgres postgres 4.4K Dec 27 2017 pg_hba.conf
-rw-------. 1 postgres postgres 1.6K Dec 27 2017 pg_ident.conf
drwx------. 4 postgres postgres 39 Dec 27 2017 pg_logical
drwx------. 4 postgres postgres 36 Dec 27 2017 pg_multixact
drwx------. 2 postgres postgres 18 Nov 2 02:42 pg_notify
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_replslot
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_serial
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_snapshots
drwx------. 2 postgres postgres 6 Sep 16 21:15 pg_stat
drwx------. 2 postgres postgres 63 Nov 8 02:41 pg_stat_tmp
drwx------. 2 postgres postgres 18 Oct 24 2018 pg_subtrans
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_tblspc
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_twophase
-rw-------. 1 postgres postgres 4 Dec 27 2017 PG_VERSION
drwx------. 3 postgres postgres 92 Dec 20 2018 pg_xlog
-rw-------. 1 postgres postgres 88 Dec 27 2017 postgresql.auto.conf
-rw-------. 1 postgres postgres 21K Dec 27 2017 postgresql.conf
-rw-------. 1 postgres postgres 37 Nov 2 02:42 postmaster.opts
-rw-------. 1 postgres postgres 85 Nov 2 02:42 postmaster.pid
answered Nov 8, 2019 at 2:51
rotarydialrotarydial
2,1412 gold badges21 silver badges26 bronze badges
A single Terminal command: pg_lsclusters
, (using Ubuntu)
What you need is under Data directory:
Ver Cluster Port Status Owner Data directory Log file
10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
11 main 5433 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
answered Aug 18, 2021 at 19:55
RokoRoko
1,22311 silver badges21 bronze badges
Where are the files for a PostgreSQL database stored?
Asclepius
56.4k17 gold badges164 silver badges142 bronze badges
asked Jul 16, 2009 at 11:55
3
To see where the data directory is, use this query.
show data_directory;
To see all the run-time parameters, use
show all;
You can create tablespaces to store database objects in other parts of the filesystem. To see tablespaces, which might not be in that data directory, use this query.
SELECT *, pg_tablespace_location(oid) FROM pg_tablespace;
SukiCZ
3015 silver badges10 bronze badges
answered Nov 23, 2011 at 4:53
6
On Windows7 all the databases are referred by a number in the file named pg_database
under C:Program Files (x86)PostgreSQL8.2dataglobal
. Then you should search for the folder name by that number under C:Program Files (x86)PostgreSQL8.2database
. That is the content of the database.
the Tin Man
158k42 gold badges214 silver badges303 bronze badges
answered Mar 9, 2012 at 7:02
1
Open pgAdmin and go to Properties for specific database. Find OID and then open directory
<POSTGRESQL_DIRECTORY>/data/base/<OID>
There should be your DB files.
answered Oct 27, 2012 at 12:22
Almir SarajčićAlmir Sarajčić
1,5202 gold badges16 silver badges19 bronze badges
1
Under my Linux installation, it’s here: /var/lib/postgresql/8.x/
You can change it with initdb -D "c:/mydb/"
trinth
5,8879 gold badges38 silver badges45 bronze badges
answered Jul 16, 2009 at 11:59
SadeghSadegh
6,5844 gold badges34 silver badges44 bronze badges
2
Everyone already answered but just for the latest updates. If you want to know where all the configuration files reside then run this command in the shell
SELECT name, setting FROM pg_settings WHERE category = 'File Locations';
answered Dec 8, 2017 at 3:25
Saad SaadiSaad Saadi
1,03110 silver badges26 bronze badges
1
I’d bet you’re asking this question because you’ve tried pg_ctl start
and received the following error:
pg_ctl: no database directory specified and environment variable PGDATA unset
In other words, you’re looking for the directory to put after -D
in your pg_ctl start
command.
In this case, the directory you’re looking for contains these files.
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
You can locate it by locating any of the files and directories above using the search provided with your OS.
For example in my case (a HomeBrew install on Mac OS X), these files are located in /usr/local/var/postgres
. To start the server I type:
pg_ctl -D /usr/local/var/postgres -w start
… and it works.
answered Aug 17, 2015 at 16:33
xaggxagg
5085 silver badges11 bronze badges
3
Postgres stores data in files in its data directory. Follow the steps below to go to a database and its files:
The database corresponding to a postgresql table file is a directory. The location of the entire data directory can be obtained by running SHOW data_directory
.
in a UNIX like OS (eg: Mac) /Library/PostgreSQL/9.4/data
Go inside the base folder in the data directory which has all the database folders: /Library/PostgreSQL/9.4/data/base
Find the database folder name by running (Gives an integer. This is the database folder name):
SELECT oid from pg_database WHERE datname = <database_name>;
Find the table file name by running (Gives an integer. This is the file name):
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
This is a binary file. File details such as size and creation date time can be obtained as usual. For more info read this SO thread
answered Jun 10, 2015 at 16:04
picmate 涅picmate 涅
3,9015 gold badges43 silver badges52 bronze badges
The location of specific tables/indexes can be adjusted by TABLESPACEs:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
CREATE TABLE something (......) TABLESPACE dbspace;
CREATE TABLE otherthing (......) TABLESPACE dbspace;
the Tin Man
158k42 gold badges214 silver badges303 bronze badges
answered Jul 16, 2009 at 12:14
ymvymv
2,12313 silver badges20 bronze badges
On Mac: /Library/PostgreSQL/9.0/data/base
The directory can’t be entered, but you can look at the content via: sudo du -hc data
answered Mar 1, 2011 at 3:33
evgenievgeni
1,6453 gold badges22 silver badges29 bronze badges
6
picmate’s answer is right. on windows the main DB folder location is (at least on my installation)
C:PostgreSQL9.2database
and not in program files.
his 2 scripts, will give you the exact directory/file(s) you need:
SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
mine is in datname 16393 and relfilenode 41603
answered Mar 28, 2019 at 0:25
k3nnk3nn
1311 silver badge6 bronze badges
1
On Windows, the PGDATA directory that the PostgresSQL docs describe is at somewhere like C:Program FilesPostgreSQL8.1data
. The data for a particular database is under (for example) C:Program FilesPostgreSQL8.1database100929
, where I guess 100929 is the database number.
answered Sep 14, 2009 at 22:01
Ben HoytBen Hoyt
10.6k5 gold badges59 silver badges84 bronze badges
3
I’m running postgres (9.5) in a docker container (on CentOS, as it happens), and as Skippy le Grand Gourou mentions in a comment above, the files are located in /var/lib/postgresql/data/
.
$ docker exec -it my-postgres-db-container bash
root@c7d61efe2a5d:/# cd /var/lib/postgresql/data/
root@c7d61efe2a5d:/var/lib/postgresql/data# ls -lh
total 56K
drwx------. 7 postgres postgres 71 Apr 5 2018 base
drwx------. 2 postgres postgres 4.0K Nov 2 02:42 global
drwx------. 2 postgres postgres 18 Dec 27 2017 pg_clog
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_commit_ts
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_dynshmem
-rw-------. 1 postgres postgres 4.4K Dec 27 2017 pg_hba.conf
-rw-------. 1 postgres postgres 1.6K Dec 27 2017 pg_ident.conf
drwx------. 4 postgres postgres 39 Dec 27 2017 pg_logical
drwx------. 4 postgres postgres 36 Dec 27 2017 pg_multixact
drwx------. 2 postgres postgres 18 Nov 2 02:42 pg_notify
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_replslot
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_serial
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_snapshots
drwx------. 2 postgres postgres 6 Sep 16 21:15 pg_stat
drwx------. 2 postgres postgres 63 Nov 8 02:41 pg_stat_tmp
drwx------. 2 postgres postgres 18 Oct 24 2018 pg_subtrans
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_tblspc
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_twophase
-rw-------. 1 postgres postgres 4 Dec 27 2017 PG_VERSION
drwx------. 3 postgres postgres 92 Dec 20 2018 pg_xlog
-rw-------. 1 postgres postgres 88 Dec 27 2017 postgresql.auto.conf
-rw-------. 1 postgres postgres 21K Dec 27 2017 postgresql.conf
-rw-------. 1 postgres postgres 37 Nov 2 02:42 postmaster.opts
-rw-------. 1 postgres postgres 85 Nov 2 02:42 postmaster.pid
answered Nov 8, 2019 at 2:51
rotarydialrotarydial
2,1412 gold badges21 silver badges26 bronze badges
A single Terminal command: pg_lsclusters
, (using Ubuntu)
What you need is under Data directory:
Ver Cluster Port Status Owner Data directory Log file
10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
11 main 5433 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
answered Aug 18, 2021 at 19:55
RokoRoko
1,22311 silver badges21 bronze badges
So this might be a stupid question, but I’m really new to this.
So I’m making a Postgres database on the postgres server, that I started up with this command:
sudo -u postgres psql
And then I did the command:
CREATE DATABASE database;
Which supposedly created the database.
But where is this database? Where can I find it on my computer?
asked Mar 15, 2013 at 1:04
3
Where exactly your data is stored depends on how you installed and configured PostgreSQL. Running the
show data_directory
command as the postgres user (from inside the psql tool or another client) will tell you where it is though. For example, if you installed it from the debian or ubuntu repositories you would probably find your data files are somewhere like /var/lib/postgresql/9.2/main.
There probably isn’t anything terribly interesting in there though. Sometimes there are a few configuration files like pg_hba.conf (the windows version puts them there at least) but if you’re on debian you’ll find those under /etc/postgresql/.
If you’re expecting your database to be a single file that you can move around between systems, etc, you’re probably better off using a simpler embedded database like sqlite.
answered Mar 15, 2013 at 10:32
To see where the data directory is, use this query.
show data_directory;
To see all the run-time parameters, use
show all;
You can create tablespaces in other parts of the filesystem. To see the location of tablespaces, which might be somewhere in the filesystem besides the data directory, use this query.
SELECT * FROM pg_tablespace;
answered Mar 15, 2013 at 23:40
1
when you execute the «CREATE DATABASE database» command, it uses the pg_default tablespace;
you can create your own tablespace first,such as
CREATE TABLESPACE tbs_01 [ OWNER user_name ] LOCATION 'directory';
and than create your database:
CREATE DATABASE datname
WITH OWNER = user_name
TEMPLATE = template0
ENCODING = 'UTF8'
TABLESPACE = tbs_01;
answered Mar 15, 2013 at 9:28
francsfrancs
1,4071 gold badge15 silver badges24 bronze badges
Everyone already answered but just for the latest updates. If you want to know where all the configuration files reside then run this command in the shell
SELECT name, setting FROM pg_settings WHERE category = 'File Locations';
answered Dec 8, 2017 at 3:26
Saad SaadiSaad Saadi
1,3912 gold badges9 silver badges7 bronze badges
Debian / Ubuntu
Ubuntu and Debian displays all of this with pg_lsclusters
— one of the many administrators utilities they add. The output looks something like this
Ver Cluster Port Status Owner Data directory Log file
9.5 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
If you just want the Data directory, then | cut -d " " -f 6
pg_lsclusters -h | cut -d " " -f 6
/var/lib/postgresql/9.5/main
answered Dec 8, 2017 at 3:39
Evan CarrollEvan Carroll
60.4k44 gold badges224 silver badges454 bronze badges
12 ответов
Чтобы узнать, где находится каталог данных, используйте этот запрос.
show data_directory;
Чтобы просмотреть все параметры времени выполнения, используйте
show all;
Вы можете создавать табличные пространства для хранения объектов базы данных в других частях файловой системы. Чтобы просмотреть табличные пространства, которые могут отсутствовать в этом каталоге данных, используйте этот запрос.
SELECT * FROM pg_tablespace;
Mike Sherrill ‘Cat Recall’
23 нояб. 2011, в 06:46
Поделиться
В Windows7 все базы данных относятся к числу в файле с именем pg_database
под C:Program Files (x86)PostgreSQL8.2dataglobal
. Затем вы должны искать имя папки по этому номеру в C:Program Files (x86)PostgreSQL8.2database
. Это содержимое базы данных.
senthilkumari
09 март 2012, в 07:26
Поделиться
Откройте pgAdmin и перейдите в «Свойства» для конкретной базы данных. Найдите OID, а затем откройте каталог
<POSTGRESQL_DIRECTORY>/data/base/<OID>
Должны быть ваши файлы DB.
Almir Sarajčić
27 окт. 2012, в 12:51
Поделиться
Под моей установкой Linux он находится здесь: /var/lib/postgresql/8.x/
Вы можете изменить его с помощью initdb -D "c:/mydb/"
Sadegh
16 июль 2009, в 12:10
Поделиться
Расположение определенных таблиц/индексов можно настроить с помощью TABLESPACE:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
CREATE TABLE something (......) TABLESPACE dbspace;
CREATE TABLE otherthing (......) TABLESPACE dbspace;
ymv
16 июль 2009, в 13:26
Поделиться
Postgres хранит данные в файлах в своем каталоге данных. Выполните следующие шаги, чтобы перейти к базе данных и ее файлам:
База данных, соответствующая файлу таблицы postgresql, является каталогом. Местоположение всего каталога данных можно получить, запустив SHOW data_directory
.
в операционной системе UNIX (например: Mac) /Library/PostgreSQL/9.4/data
Перейдите в базовую папку в каталоге данных, где есть все папки базы данных: /Library/PostgreSQL/9.4/data/base
Найдите имя папки базы данных, запустив (дает целое число. Это имя папки базы данных):
SELECT oid from pg_database WHERE datname = <database_name>;
Найдите имя файла таблицы, запустив (дает целое число. Это имя файла):
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
Это двоичный файл. Данные файла, такие как размер и время создания, могут быть получены как обычно. Для получения дополнительной информации прочитайте этот поток SO
picmate 涅
10 июнь 2015, в 17:33
Поделиться
В Mac: /Library/PostgreSQL/9.0/data/base
Невозможно ввести каталог, но вы можете посмотреть содержимое через: sudo du -hc data
evgeni
01 март 2011, в 04:26
Поделиться
Все уже ответили, но только для последних обновлений. Если вы хотите знать, где находятся все файлы конфигурации, запустите эту команду в оболочке
SELECT name, setting FROM pg_settings WHERE category = 'File Locations';
Saad Saadi
08 дек. 2017, в 03:37
Поделиться
Держу пари, что вы задаете этот вопрос, потому что вы пробовали pg_ctl start
и получили следующую ошибку:
pg_ctl: не указан каталог базы данных и переменная среды PGDATA unset
Другими словами, вы ищете каталог, который будет помещен после -D
в команду pg_ctl start
.
В этом случае каталог, который вы ищете, содержит эти файлы.
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
Вы можете найти его, указав любой из файлов и каталогов выше, используя поиск, предоставляемый вашей ОС.
Например, в моем случае (HomeBrew установить на Mac OS X) эти файлы находятся в /usr/local/var/postgres
. Для запуска сервера я печатаю:
pg_ctl -D /usr/local/var/postgres -w start
… и он работает.
xagg
17 авг. 2015, в 18:22
Поделиться
В Windows каталог PGDATA, который описывают документы PostgresSQL, находится где-то вроде C:Program FilesPostgreSQL8.1data
. Данные для конкретной базы данных находятся (например) в C:Program FilesPostgreSQL8.1database100929
, где, как мне кажется, 100929 — это номер базы данных.
Ben Hoyt
14 сен. 2009, в 22:12
Поделиться
Picmate ответ правильный. на windows расположение основной папки БД (по крайней мере на моей установке)
C:PostgreSQL9.2database
а не в программных файлах.
его 2 сценария, даст вам точный каталог/файл вам нужно:
SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
мой находится в datname 16393 и relfilenode 41603
k3nn
28 март 2019, в 00:40
Поделиться
Ещё вопросы
- 0Раскрывающееся меню HTML удаляет пробелы между элементами LI
- 0Попытка заставить curl работать в c ++ linux и GDB
- 1Как я могу сохранить hourOfDay и минуты из timePickerDialog, чтобы сравнить его с какой-то другой переменной?
- 0JQuery выберите раскрывающийся список выбранного значения
- 0Не удается правильно загрузить растровое изображение из памяти
- 0Как обновить страницу и добавить параметр URL?
- 0Yii — Css — один активный эффект для нескольких ссылок
- 0FullText InnoDB Поиск без ответа
- 0m_hIcon = AfxGetApp () -> LoadIcon (IDR_MAINFRAME); Утверждение не выполнено: at afxwin1.inl
- 1Идентификация таблицы в HTML
- 1Вернуть значение ключа на максимальной глубине во вложенном словаре
- 0Как мне преобразовать параметры выбора в список, но сохранить значения?
- 0Как экспортировать DataTable в Excel с выбранным столбцом
- 1Приложение закрывается после того, как намеренно не дал разрешение на местоположение
- 0Альтернативные цвета для заголовков на основе селектора nth-child
- 0Изменить .htaccess на работу? _Escaped_fragment_ = URL
- 0преобразование из двоичной строки в int с использованием strtoll?
- 1Colors.xml: содержимое не допускается в конце раздела
- 1Проект EAR Maven — JAR не исключается?
- 0TBB Linker error Как узнать, что я пропустил включение или код устарел?
- 1Вывести toString () из отдельных классов
- 0Шаблонная директива AngularJS с Java Play
- 1Scipy.ode «Ошибка теста неоднократно»
- 0Как работать со сторонними библиотеками при юнит-тестировании?
- 0(PDO) Сбор конкретных данных из идентификатора
- 0Разрешить теги php в htmlpurifier
- 0Появляется ошибка при попытке отобразить данные таблицы MySQL в таблице HTML [дубликаты]
- 1Почему элементы CSS и Bootstrap исчезают с сервера экспресс-узла?
- 0Mysql, вставить в таблицу из каждой записи из другой таблицы
- 0Код отслеживания не установлен (Google Analytics)
- 0поиск элемента внутри другого элемента с использованием идентификатора
- 0Ошибка SELECT после ошибки вставки повторяющегося ключа
- 0Сортировка JSON данных на стороне клиента
- 1Загрузка запрещена с помощью X-Frame-Options: websitename / Register не разрешает кадрирование между источниками в MVC5
- 0Переменная переопределяется в цикле
- 0Как преодолеть недостаток дружбы в C #?
- 0Получение выбранного значения из выпадающего списка, помещенного в div
- 0Как вызвать клик при наведении курсора на элемент на x секунд, используя JQuery?
- 0Нам понадобится несколько советов: я хочу добавить и отобразить объекты в ArrayList с помощью jTable, а затем добавить эти записи в базу данных SQL
- 1Как удалить дубликаты (различные значения) без первичного ключа
- 1Удаление смежных дубликатов в ArrayList [Java]
- 1Расширения Chrome-Extensions Jasmine, Chrome, onMessage не определены
- 1Python конвертирование из c # Расчет CRC8 из кадра 4/5 байт
- 1Элемент управления WinForms WebBrowser игнорирует реферер
- 1как сделать так, чтобы форма отправлялась синхронно БЕЗ JQUERY
- 0HTML5 и PHP: Воспроизведение видеофайла в формате base64
- 0Вместо электронной почты идентификатор пользователя идет в базу данных
- 1FindResource не работает в библиотеке пользовательских элементов управления
- 0Mysql Ошибка подключения к базе данных
- 1Веб-формы .NET обновляют контент на стороне сервера
Где хранятся файлы для базы данных PostgreSQL?
Ответ 1
Чтобы узнать, где находится каталог данных, используйте этот запрос.
show data_directory;
Чтобы просмотреть все параметры времени выполнения, используйте
show all;
Вы можете создавать табличные пространства для хранения объектов базы данных в других частях файловой системы. Чтобы просмотреть табличные пространства, которые могут отсутствовать в этом каталоге данных, используйте этот запрос.
SELECT * FROM pg_tablespace;
Ответ 2
В Windows7 все базы данных относятся к числу в файле с именем pg_database
под C:Program Files (x86)PostgreSQL8.2dataglobal
. Затем вы должны искать имя папки по этому номеру в C:Program Files (x86)PostgreSQL8.2database
. Это содержимое базы данных.
Ответ 3
Откройте pgAdmin и перейдите в «Свойства» для конкретной базы данных. Найдите OID, а затем откройте каталог
<POSTGRESQL_DIRECTORY>/data/base/<OID>
Должны быть ваши файлы DB.
Ответ 4
Под моей установкой Linux он находится здесь: /var/lib/postgresql/8.x/
Вы можете изменить его с помощью initdb -D "c:/mydb/"
Ответ 5
Как указано в «местоположении по умолчанию базы данных PostgreSQL в Linux, под Linux вы можете узнать, используя следующую команду:
ps aux | grep postgres | grep -- -D
Ответ 6
Расположение определенных таблиц/индексов можно настроить с помощью TABLESPACE:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
CREATE TABLE something (......) TABLESPACE dbspace;
CREATE TABLE otherthing (......) TABLESPACE dbspace;
Ответ 7
В Mac: /Library/PostgreSQL/9.0/data/base
Невозможно ввести каталог, но вы можете посмотреть содержимое через: sudo du -hc data
Ответ 8
Postgres хранит данные в файлах в своем каталоге данных. Выполните следующие шаги, чтобы перейти к базе данных и ее файлам:
База данных, соответствующая файлу таблицы postgresql, является каталогом. Местоположение всего каталога данных можно получить, запустив SHOW data_directory
.
в операционной системе UNIX (например: Mac) /Library/PostgreSQL/9.4/data
Перейдите в базовую папку в каталоге данных, где есть все папки базы данных: /Library/PostgreSQL/9.4/data/base
Найдите имя папки базы данных, запустив (дает целое число. Это имя папки базы данных):
SELECT oid from pg_database WHERE datname = <database_name>;
Найдите имя файла таблицы, запустив (дает целое число. Это имя файла):
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
Это двоичный файл. Данные файла, такие как размер и время создания, могут быть получены как обычно. Для получения дополнительной информации прочитайте этот поток SO
Ответ 9
Все уже ответили, но только для последних обновлений. Если вы хотите знать, где находятся все файлы конфигурации, запустите эту команду в оболочке
SELECT name, setting FROM pg_settings WHERE category = 'File Locations';
Ответ 10
Держу пари, что вы задаете этот вопрос, потому что вы пробовали pg_ctl start
и получили следующую ошибку:
pg_ctl: не указан каталог базы данных и переменная среды PGDATA unset
Другими словами, вы ищете каталог, который будет помещен после -D
в команду pg_ctl start
.
В этом случае каталог, который вы ищете, содержит эти файлы.
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
Вы можете найти его, указав любой из файлов и каталогов выше, используя поиск, предоставляемый вашей ОС.
Например, в моем случае (HomeBrew установить на Mac OS X) эти файлы находятся в /usr/local/var/postgres
. Для запуска сервера я печатаю:
pg_ctl -D /usr/local/var/postgres -w start
… и он работает.
Ответ 11
В Windows каталог PGDATA, который описывают документы PostgresSQL, находится где-то вроде C:Program FilesPostgreSQL8.1data
. Данные для конкретной базы данных находятся (например) в C:Program FilesPostgreSQL8.1database100929
, где, как мне кажется, 100929 — это номер базы данных.
Ответ 12
Picmate ответ правильный. на windows расположение основной папки БД (по крайней мере на моей установке)
C:PostgreSQL9.2database
а не в программных файлах.
его 2 сценария, даст вам точный каталог/файл вам нужно:
SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
мой находится в datname 16393 и relfilenode 41603