172 похожих чатов

Уважаемые, подскажите, где искать хвосты? Есть pg9.6 и его рабочая папка

/db/9.6/main (1Т)
Когда то был 9.3 и он лежат в /db/main (25Гб)
Судя по скрпитам миграции (которые накатывали) /db/main был указан как PGDATAOLD (старый конфиг).

Сейчас /db/main занят pg 9.6 (судя по lsof).

При этому в самом pg я не вижу базу размером 25Г на которую можно было бы подумать. Так же ни одного тейблспейса лежащего в /db/main (смотрю \db+ или SELECT * FROM pg_tablespace).

Почему PG держит эту папку?

6 ответов

24 просмотра

0) убедитесь, что запущен 1 процесс postmaster-a: $ ps aux | grep [b]in/postgres $ ss -nltp | grep postgres 1) посмотрите содержимое папки /db/main и сравните с: https://www.postgresql.org/docs/9.6/storage-file-layout.html - похоже ли на pgdata? - похоже ли на tablespace? (tablespace еще можно проверить через симлинки внутри PGDATA/pg_tblspc/ ) 2) убедитесь что pgdata точно та, что вы ожидаете: # show data_directory; 3) проверьте не указана ли /db/main в качестве stats_temp_directory: # select * from pg_settings where setting ilike '%main%'; 4) Попробуйте найти объекты в базе, по файлам из /db/main, здесь написано как https://www.2ndquadrant.com/en/blog/postgresql-filename-to-table/

Dees7- Автор вопроса
Kirill P
0) убедитесь, что запущен 1 процесс postmaster-a: ...

0) в запущеных толкьо 9.6 ls -la /proc/*/exe 2>/dev/null | grep postgres | awk '{print $11}' | sort | uniq /usr/lib/postgresql/9.6/bin/postgres /usr/lib/postgresql/9.6/bin/psql 1) похоже на pgdata base global pg_clog pg_multixact pg_notify pg_serial pg_snapshots pg_stat pg_stat_tmp pg_subtrans pg_tblspc (тут пусто) pg_twophase PG_VERSION (тут написано что 9.3) 2) тоже нет. указывает на /db/9.6/main как и ожидается. 3) тоже нет. указывает на /db/9.6/main как и ожидается. 4) поищу. Еще обратил внимание что по этому пути ничего не пишется в 2018 года. Он PG ее просто держит.

Dees7
0) в запущеных толкьо 9.6 ls -la /proc/*/exe 2>...

если pg_upgrade 9.3 -> 9.6 делался через hardlink-и, то возможно /db/main это уже просто рудимент есть ли такой файл /db/main/global/pg_control.old? если он есть, значит был upgrade через hardlink-и, и поскольку вы запустили уже 9.6, то запись в шаренные файлы уже произошла и /db/main просто мусор если сильно страшно, то делаете бэкап 9.6, останавливаете postgres, удаляете /db/main, запускаете заново. проверить что база читается вся: $ pg_dumpall -v &> /dev/null upd. подробнее в шаге 16 и 17: https://www.postgresql.org/docs/9.6/pgupgrade.html

Dees7- Автор вопроса
Kirill P
если pg_upgrade 9.3 -> 9.6 делался через hardlink-...

Да, обновляли через pg_upgrade --link pg_control.old - есть. Спасибо большое!

Dees7- Автор вопроса
Sergey Gr
А что значит "держит"?

в lsof показывает что файлы открыты pg

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта