powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_dump. Занимает всю оперативную память и весь swap
5 сообщений из 30, страница 2 из 2
pg_dump. Занимает всю оперативную память и весь swap
    #39561211
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmanMaxim BogukКоличество представлений влияет.

Вы имееtе в виду, что при дампе проводится select * из каждого? Или он на метадате затыкается?

Я бы предположил что там где то память течет. Попробую bug report написать сегодня.
...
Рейтинг: 0 / 0
pg_dump. Занимает всю оперативную память и весь swap
    #39561225
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VisermozПока остановился на таком решении:
буду снимать копии с помощью Pg_dump не базы целиком, а за несколько приходов. в pg_dump с ключом -n указываю первые 7 схем, следующий запуск с указанием других схем и т.д.
Проверил такой вариант- работает и память так сильно не расходуется.

Конечно, было бы интересно понять причину такой ошибки.

Всем большое спасибо за советы и подсказки

А каждая схема по структуре похожа на другие? Если да - сделайте dump одной схемы и пришлите или сюда в виде файла или мне лично на maxim.boguk@gmail.com я попробую test case сделать у себя и посмотреть что там такое творится.

PS: у вас именно обычный postgres? не линтер/pg-pro/enterprise-db форки?
...
Рейтинг: 0 / 0
pg_dump. Занимает всю оперативную память и весь swap
    #39561272
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VisermozКонечно, было бы интересно понять причину такой ошибки.
поскольку вью -- не самое удобная часть пж, то редко кто додумывается ими злоупотре, в таком убойном количестве.

вы что, доступом рулите через вью ? зачем их стока--то ?
это ж садо--мазо какое-то. если их хотя бы раз в год альтерить.


ну вот никто и не натыкался на
...
Рейтинг: 0 / 0
pg_dump. Занимает всю оперативную память и весь swap
    #39561767
Visermoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk, да, используется обычная версия.
Спасибо, я подготовлю файл и отправлю вам.Схемы примерно одинаковые по структуре.

qwwq, вьюшки используются как тематические выборки из основных данных.
Вероятно, не самое удачное решение было использовать для этого именно представления в БД, возможно просто достаточно было хранить текст запроса, а приложении его бы исполняло в нужной ситуации.
...
Рейтинг: 0 / 0
pg_dump. Занимает всю оперативную память и весь swap
    #39563405
Visermoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему удалось решить увеличением swap-раздела до 20Гб. точно не измерял насколько он используется(копии снимаются ночью), но всё прошло без ошибок.
Как говорил Maxim Boguk , увеличение памяти на сервере тоже бы помогло.

Примерно смоделировал структуру базы на которой воспроизводилась ошибка таким скриптом-реальную схему руководство не разрешило отправлять .(40 схем с 2000 представлений с SQL по длине как в реальной системе):

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
create or replace function f_test() returns bool
as
$$
begin
	perform pg_sleep(10);
end;
$$language plpgsql;

do
$$
declare
	vsSchemaName varchar(30);
	vsViewName varchar(30);
begin
	FOR i IN 1..40 LOOP
		vsSchemaName:='schema_'||i;
		execute 'create schema '||vsSchemaName;
		execute 'create table '||vsSchemaName||'.testtable(key serial,name text)';
		execute 'insert into '||vsSchemaName||'.testtable(name) select generate_series(1,100000)::text';
		FOR i2 IN 1..2000 LOOP
			vsViewName:='view_'||i2;
			execute 'create view '||vsSchemaName||'.'||vsViewName||' as 
				select t1.key,
					t1.name,
					t2.key as key2,
					t2.name as name2,
					t3.key as key3,
					t3.name as name3,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info2,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info3,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info4,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info5,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info6,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info7,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info8,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info9,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info10,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info11,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info12,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info13,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info14,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info15,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info16,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info17,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info18,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info19,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info20,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info21,
					1999994::bigint as n1,
					1999994::bigint as n2,
					1999994::bigint as n3,
					1999994::bigint as n4,
					1999994::bigint as n5,
					1999994::bigint as n6,
					1999994::bigint as n7,
					1999994::bigint as n8,
					1999994::bigint as n9,
					1999994::bigint as n10,
					1999994::bigint as n11,
					1999994::bigint as n12,
					1999994::bigint as n13,
					1999994::bigint as n14,
					1999994::bigint as n15,
					1999994::bigint as n16,
					1999994::bigint as n17,
					1999994::bigint as n18,
					1999994::bigint as n19,
					1999994::bigint as n20,
					1999994::bigint as n21,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info1_1,
					''1211111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info2_1,
					''1131111111111111111111111111100011111111111111111111111111111111111111111111111''::text as info3_1,
					''1114111111111111111111111111110100111111111111111111111111111111111111111111111''::text as info4_1,
					''1111511111111111111111111111110111011111111111111111111111111111111111111111111''::text as info5_1,
					''1111161111111111111111111111110111011111111111111111111111111111111111111111111''::text as info6_1,
					''1111117111111111111111111111110111011111111111111111111111111111111111111111111''::text as info7_1,
					''1111111811111111111111111111111000111111111111111111111111111111111111111111111''::text as info8_1,
					''1111111191111111111111111111111111111111111111111111111111111111111111111111111''::text as info9_1,
					''1111111110111111111111111111111111111111111111111111111111111111111111111111111''::text as info10_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info11_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info12_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info13_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info14_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info15_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info16_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info17_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info18_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info19_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info20_1,
					''1111111111111111111111111111111111111111111111111111111111111111111111111111111''::text as info21_1,
					1999994::bigint as n1_1,
					1999994::bigint as n2_1,
					1999994::bigint as n3_1,
					1999994::bigint as n4_1,
					1999994::bigint as n5_1,
					1999994::bigint as n6_1,
					1999994::bigint as n7_1,
					1999994::bigint as n8_1,
					1999994::bigint as n9_1,
					1999994::bigint as n10_1,
					1999994::bigint as n11_1,
					1999994::bigint as n12_1,
					1999994::bigint as n13_1,
					1999994::bigint as n14_1,
					1999994::bigint as n15_1,
					1999994::bigint as n16_1,
					1999994::bigint as n17_1,
					1999994::bigint as n18_1,
					1999994::bigint as n19_1,
					1999994::bigint as n20_1,
					1999994::bigint as n21_1				
					from '||vsSchemaName||'.testtable t1,
					'||vsSchemaName||'.testtable t2,
					'||vsSchemaName||'.testtable t3,
					'||vsSchemaName||'.testtable t4, 
					'||vsSchemaName||'.testtable t5
						where t1.key>100 and t2.key*t3.key>100 and 1=1 
							and 999999999=999999999
							and 999999999=999999999
							and 999999991=999999991
							and 999999992=999999992
							and 999999993=999999993
							and 999999994=999999994
							and 999999995=999999995
							and 999999996=999999996
							and 999999997=999999997
							and 999999998=999999998
							and f_test()=true';
		END LOOP;
	END LOOP;
end$$;


...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_dump. Занимает всю оперативную память и весь swap
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]