Имя: Пароль:
1C
1С v8
(1С и postgresql) размер временных файлов больше 100Гб
,
0 advantage123
 
27.08.21
08:18
Здравствуйте!

База весит 35 Гб, временные файлы 100Гб

Как можно их почистить?

Проблема в том, что делаю бэкап средствами postgresql, но при восстановлении базы требует эти 100Гб избыточных данных...
1 advantage123
 
27.08.21
08:21
собственно как их очистить в текущей работающей базе
2 advantage123
 
27.08.21
08:21
чтобы бэкапы следующие создавались без избыточности...
3 ДенисЧ
 
27.08.21
08:25
Зато постгре бесплатный...
4 Chai Nic
 
27.08.21
08:30
Что такое "временные файлы" в контексте постгреса?
5 rphosts
 
27.08.21
08:36
Видимо речь про временные файлы, которые создаются на время создания индексов
6 advantage123
 
27.08.21
08:41
вот скриншот
https://hdd.tomsk.ru/desk/hvdlkund#
7 rphosts
 
27.08.21
08:42
(6) откуда это чудо?
8 advantage123
 
27.08.21
08:43
(7) pgadmin
9 advantage123
 
27.08.21
08:44
похоже, сами файлы временные тут лежат, но счетчик их все равно не обнуляется

C:\Users\USR\AppData\Roaming\1C\1cv8\eebbc626-349c-4ed0-8e9d-2b4494d8fc4f
10 rphosts
 
27.08.21
08:45
(8) (9) в том каталоге уж точно не постгресовские файлы
11 advantage123
 
27.08.21
08:46
(10) ну пусть там кэш базы, тем более тогда... как временные файлы постгриса почистить...
12 rphosts
 
27.08.21
08:48
(11) ты-бы хоть имя каталога в котором столько "добра" сообщил
13 advantage123
 
27.08.21
08:49
(3) субд и ОС всегда должны быть бесплатными, особенно для обычных пользователей ;)
14 advantage123
 
27.08.21
08:51
(11) я поищу, но прикол в том, что на диске этих 100Гб физически не занимается, но при восстановлении из бэкапа место начинает жрать...
15 ДенисЧ
 
27.08.21
08:58
(13) Зато админы тогда получаются дорогими. И тут ещё посчитать надо, что выгодней.
И да, ты свою работу тоже бесплатно продаёшь?
16 ildary
 
27.08.21
09:07
(15) А я не помню, чтобы пользователи платили за ОС и СУБД - за них это делает компания-работодатель.
17 ДенисЧ
 
27.08.21
09:11
(16) Компания-рабодатель в данном случае выступает в роли пользователя.
18 pavig
 
27.08.21
09:33
(0)
В процессе работы 1С накапливает туеву хучу всякого хлама в своих временных каталогах.
При перезапуске сервера, 1С удаляет свои временные файлы.
По-моему, помогает не перезапуск службы, а именно перезапуск всего сервера. Тут надо проверять. Попробуйте сначала службу перезапустить.

П.С.
В накоплении большого количества и объема временных файлов может быть и виновата не только лишь платформа, но и прикладные программисты.
Если, например, в коде используются что-то типа "ПолучитьИмяВременногоФайла", потом в этот файл что-то записывается, а потом программист не озадачивает себя удалением этого временного файла, то этот файл так и будет болтаться в каталоге временных файлов на сервере 1С. Тут см. выше, что я написал в данном посте.
19 pavig
 
27.08.21
09:34
Во временные файлы записывается, если я не ошибаюсь, кеш данных (обращения через точку), таблицызначений (может только большие), выборки данных и всякая другая объемная гадость.
20 pavig
 
27.08.21
09:35
И постгрес тут совершенно ни при чем. Как и любая другая СУБД поддерживаемая 1Сом.
21 pavig
 
27.08.21
09:37
(3)
Кстати, мы на нескольких проектах используем постгрес из коробки.
Пока никакого негатива нет.
Может быть, проекты не очень нагруженные, а может, просто достаточный запас железа имеется.
22 fisher
 
27.08.21
09:39
(6) По-ходу, это статистика за период, а не текущий размер. То есть ты погоду смотришь.
23 fisher
 
27.08.21
09:42
Еще спроси, где почистить кортежи, а то их что-то дофига возвращается.
24 advantage123
 
27.08.21
09:44
спасибо за ответы :)
25 fisher
 
27.08.21
09:46
Восстанавливаешь как, через pg_restore?
26 fisher
 
27.08.21
09:50
И точное сообщение об ошибке напиши.
27 advantage123
 
27.08.21
10:36
восстановлиение:

1) создаем БД в pgadmin

2) "C:\Program Files\PostgreSQL\11.5-7.1C\bin\pg_restore.exe" -c -h localhost -U postgres -d 123 "F:\backup\Backup_123\123_2021-02-20_14-44-33.backup"

3) конфигурация
"C:\Program Files\PostgreSQL\11.5-7.1C\bin\psql.exe" --host localhost --port 5432 --username "postgres" --command "\COPY public.config FROM 'F:\backup\Backup_123\conf_123.config' WITH BINARY;" --dbname="123"
28 advantage123
 
27.08.21
10:40
нету ошибок, все работает, просто в процессе он восстанавливает временные файлы судя по всему, и места на диске требуется значительно больше

около 100 гигабайт в процессе восстановления, а при завершении 35-45 гигов занимает сама база и место как бы освобождается....

проблема что нафига ему эти 100 гигов в процессе восстановления, может перед бэкапом как-то чистить этот мусор можно, вот в чем вопрос
29 ildary
 
27.08.21
10:50
(28) Я не настоящий сварщик, но вроде у PG есть функция vacuum - это не оно?
30 advantage123
 
27.08.21
11:33
(29) попробую
31 fisher
 
27.08.21
12:55
(28) Я тоже не настоящий сварщик, но уверен что vacuum и "временные файлы" тут не причем. Думаю что дело в другом.
Этот способ бэкапа/восстановления довольно калечный в сравнении с сиквельным. Это не бинарный бэкап данных, а набор инструкций постгри, выполнение которых приведет БД в нужное состояние.
Подозреваю, что он может быть больше самой базы. То есть постгри нужно дополнительное место на разархивацию этого мегабэкапа, а потом по инструкциям из него он начинает базу заполнять. Ради интереса можно попробовать сделать бэкап без опции сжатия и посмотреть сколько он занимает. Скорее всего - это оно и есть.
ЗЫ. В бесплатном постгри есть и бинарный бэкап, но он бэкапит целиком кластер. В серьезном продакшене постгри так и юзают - по отдельному кластеру на базу. И бэкапить хорошо и настройки постгри можно затюнить под конкретный профиль нагрузки этой базы.
32 ildary
 
27.08.21
13:01
И кстати, почему в 2021 году 100Гб стало проблемой? Что винты, что SSD меньше терабайта не покупаются.
33 rphosts
 
27.08.21
13:05
(29) не оно
34 rphosts
 
27.08.21
13:14
(28) никакие временные файлы не восстанавливаются, вы понимаете как строятся индексы, к примеру? Можно сравнительно быстро но нужны темпы на время сортировки, а можно медленно и  печально чуть лучше чем пузырьковым методом
35 HeKrendel
 
27.08.21
13:55
(3) просто не настраивался у.нас
36 ansh15
 
27.08.21
16:32
https://qastack.ru/dba/111187/postgresql-size-of-temporary-files
Они уже нигде не лежат, это просто статистика.
37 ansh15
 
27.08.21
16:39
Бэкап без сжатия гораздо быстрее. Сжать потом, при необходимости, можно чем-нибудь многопоточным.