У меня сломанный сервер, и резервные копии /etc/postgresql
и /var/lib/postgresql
.
База данных, которую я ищу, использовалась в версии Redmine 2009 года, если это имеет значение. https://www.redmine.org/
Резервная копия /etc/postgresql/postgresql.conf
говорит:
data_directory = '/var/lib/postgresql/8.3/main' # use data in another directory
Перечисление резервной копии /var/lib/postgresql/8.3/main
Я вижу:
drwx------ 6 mysql scanner 4096 Nov 24 2009 base
drwx------ 2 mysql scanner 4096 Aug 15 07:40 global
drwx------ 2 mysql scanner 4096 Nov 23 2009 pg_clog
drwx------ 4 mysql scanner 4096 Nov 23 2009 pg_multixact
drwx------ 2 mysql scanner 4096 Nov 23 2009 pg_subtrans
drwx------ 2 mysql scanner 4096 Nov 23 2009 pg_tblspc
drwx------ 2 mysql scanner 4096 Nov 23 2009 pg_twophase
-rw------- 1 mysql scanner 4 Nov 23 2009 PG_VERSION
drwx------ 3 mysql scanner 4096 May 24 10:46 pg_xlog
-rw------- 1 mysql scanner 133 Jun 25 2014 postmaster.opts
-rw------- 1 mysql scanner 54 Jun 25 2014 postmaster.pid
(Игнорируйте владельца / группу, они были испорчены процедурой резервного копирования.)
Меня беспокоит то, что только один файл имеет актуальное время модификации:
$ find . -mtime -10
./global
./global/pgstat.stat
Означает ли это, что данные базы данных были записаны где-то еще, а не в /var/lib/postgresql
?
Похоже, что диск используется довольно часто:
$ du .
12 ./pg_clog
4 ./pg_twophase
12 ./pg_multixact/members
12 ./pg_multixact/offsets
28 ./pg_multixact
4 ./pg_tblspc
76 ./pg_subtrans
4 ./pg_xlog/archive_status
98312 ./pg_xlog
300 ./global
25428 ./base/16427
4280 ./base/11510
4500 ./base/11511
4280 ./base/1
38492 ./base
137244 .
Означает ли это непустую базу данных?
Если в содержимом каталогов не было изменений (файлы не были созданы / удалены и т. Д.), То временные метки каталогов не изменятся. Это могло объяснить многие старые временные метки - БД была инициализирована в 2009 году и с тех пор практически просто работала.
Два файла из 2014 года ... я предполагаю, что кто-то внес изменения в параметры в файле postmaster.opts и перезапустил сервер. Затем он работал до тех пор, пока не остановился через некоторое время после 24 мая 2016 года.
Где postgres хранит данные в ubuntu
В местоположении, указанном data_directory.
Означает ли это, что данные базы данных были записаны где-то еще, а не в / var / lib / postgresql?
Нет
Означает ли это непустую базу данных?
да
Мое замешательство было вызвано тем, что за последние 10 дней ни один пользователь не ввел никаких новых данных. Когда я искал измененные файлы за последние 20 дней, их было много.
$ find . -type f -mtime -20 -exec ls -lA {} \;
-rw------- 1 mysql scanner 8192 Aug 12 11:11 ./pg_clog/0000
-rw------- 1 mysql scanner 16777216 Aug 12 11:11 ./pg_xlog/000000010000000000000009
-rw------- 1 mysql scanner 32526 Aug 15 07:40 ./global/pgstat.stat
-rw------- 1 mysql scanner 8192 Aug 12 11:11 ./global/pg_control
-rw------- 1 mysql scanner 335872 Aug 11 11:11 ./base/16427/16615
-rw------- 1 mysql scanner 90112 Aug 11 11:11 ./base/16427/16963
-rw------- 1 mysql scanner 57344 Aug 10 11:31 ./base/16427/16969
-rw------- 1 mysql scanner 131072 Aug 11 11:11 ./base/16427/16964
-rw------- 1 mysql scanner 90112 Aug 11 11:11 ./base/16427/16908
-rw------- 1 mysql scanner 8192 Aug 9 11:56 ./base/16427/16485
-rw------- 1 mysql scanner 729088 Aug 12 11:11 ./base/16427/16588
-rw------- 1 mysql scanner 16384 Aug 11 11:11 ./base/16427/16428
-rw------- 1 mysql scanner 81920 Aug 11 11:11 ./base/16427/16910
-rw------- 1 mysql scanner 73728 Aug 12 11:11 ./base/16427/16962
-rw------- 1 mysql scanner 8192 Aug 10 11:31 ./base/16427/16731
-rw------- 1 mysql scanner 8192 Aug 12 09:31 ./base/16427/16760
-rw------- 1 mysql scanner 155648 Aug 5 11:51 ./base/16427/2619
-rw------- 1 mysql scanner 212992 Aug 11 11:11 ./base/16427/16604
-rw------- 1 mysql scanner 73728 Aug 10 11:31 ./base/16427/16970
-rw------- 1 mysql scanner 8192 Aug 12 11:11 ./base/16427/16602
-rw------- 1 mysql scanner 8192 Aug 9 11:56 ./base/16427/16477
-rw------- 1 mysql scanner 8192 Aug 11 16:11 ./base/16427/16626
-rw------- 1 mysql scanner 57344 Aug 12 11:11 ./base/16427/16906
-rw------- 1 mysql scanner 57344 Aug 10 11:31 ./base/16427/16928
-rw------- 1 mysql scanner 212992 Aug 10 11:31 ./base/16427/16728
-rw------- 1 mysql scanner 16384 Aug 11 16:11 ./base/16427/16912
-rw------- 1 mysql scanner 8192 Aug 11 11:11 ./base/16427/16624
-rw------- 1 mysql scanner 16384 Aug 11 11:11 ./base/16427/16878
-rw------- 1 mysql scanner 1155072 Aug 9 11:56 ./base/16427/16479
-rw------- 1 mysql scanner 8192 Aug 11 11:11 ./base/16427/16443
-rw------- 1 mysql scanner 8192 Aug 11 11:11 ./base/16427/16613
-rw------- 1 mysql scanner 8192 Aug 11 16:11 ./base/16427/16633
-rw------- 1 mysql scanner 204800 Aug 9 11:56 ./base/16427/16886
-rw------- 1 mysql scanner 10633216 Aug 10 09:51 ./base/16427/16469
-rw------- 1 mysql scanner 2334720 Aug 9 11:56 ./base/16427/16955
-rw------- 1 mysql scanner 466944 Aug 9 11:56 ./base/16427/16957
-rw------- 1 mysql scanner 2064384 Aug 9 11:56 ./base/16427/16884