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 ответов

26 просмотров

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта