Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Множатся процессы при вставке данных  [new]
kliff
Member

Откуда:
Сообщений: 311
Ребята, подскажите с чем связано Postgres 9.6

Из DBeaver запускаю инсерт, количество вставляемых записей 100 000, селект внутри сам без вставки отрабатывает минут за 7

Запускаю

DO $$
BEGIN
INSERT INTO table1 select * from table2;
END$$;

Запрос работает примерно полтора часа. При этом в pg_stat_activity вижу что примерно раз в 15 минут порождается еще один такой же процесс, потом еще и еще.
В итоге запросов вида
DO $$
BEGIN
INSERT INTO table1 select * from table2;
END$$;

висит потом около 5-6 штук.

С чем связано такое поведение, когда множатся процессы, и почему может быть такой долгой вставка. Индексов и тд на table1 нет.
Сервер 4 ядра, 12Гигов
shared_buffers 4Гига.
work_mem = 300MB
maintenance_work_mem = 600MB
12 ноя 20, 20:18    [22231080]     Ответить | Цитировать Сообщить модератору
 Re: Множатся процессы при вставке данных  [new]
kliff
Member

Откуда:
Сообщений: 311
И еще вопрос, запустил долгий селект из терминала в psql
Запрос работает, но мочему при этом его не видно в pg_stat_activity?
12 ноя 20, 20:32    [22231088]     Ответить | Цитировать Сообщить модератору
 Re: Множатся процессы при вставке данных  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4396
kliff,

все штатные телепаты в отпуске.

Вы не показываете что именно в pg_stat_activity вам показывается и просите ответа.
Сколько уже раз писали - если вопрос про запросы и psql - всегда приводите полный вывод что вам показывается в консоли.

>>Запрос работает, но мочему при этом его не видно в pg_stat_activity?
значит не работает или доработал или недостаточно прав или еще 100 причин...
еще раз TEST CASE... что набирали... что получили... по шагам, без этого ответов не будет.... причина в первой строке.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
12 ноя 20, 21:34    [22231118]     Ответить | Цитировать Сообщить модератору
 Re: Множатся процессы при вставке данных  [new]
kliff
Member

Откуда:
Сообщений: 311
Maxim Boguk
kliff,

все штатные телепаты в отпуске.

Вы не показываете что именно в pg_stat_activity вам показывается и просите ответа.
Сколько уже раз писали - если вопрос про запросы и psql - всегда приводите полный вывод что вам показывается в консоли.

>>Запрос работает, но мочему при этом его не видно в pg_stat_activity?
значит не работает или доработал или недостаточно прав или еще 100 причин...
еще раз TEST CASE... что набирали... что получили... по шагам, без этого ответов не будет.... причина в первой строке.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


Вроде подробно описал что показывает pg_stat_activity, 5-6 одинаковых запросов, ну если это что то прояснит, то не трудно

pid state query
266047 ative DO $$BEGININSERT INTO table1 select * from table2;END$$;
267012 ative DO $$BEGININSERT INTO table1 select * from table2;END$$;
267020 ative DO $$BEGININSERT INTO table1 select * from table2;END$$;
243217 ative DO $$BEGININSERT INTO table1 select * from table2;END$$;
214517 ative DO $$BEGININSERT INTO table1 select * from table2;END$$;


Запрос в plsql работает, запустил этот запрос с limit 500, тут же в консоль вывалил данные. Убрал лимит, запустил, в DBeaver этот запрос выборку делает 7 минут. Вот запустил без лимита в psql и выполняю в DBeaver select из pg_stat_activity, запроса нет.

Вывод в консоли не знаю что показать

db_data=#select *
db_data-#from table2;

Все, больше ничего нет. Если с лимитом, то дальше данные идут, без лимита ничего.


По шагам, даже не знаю что добавить к написанному
1.Открыл DBeaver, открыл едитор, запустил первый запрос. Открыл еще эдитор выполнил запрос к pg_stat_activity.
2. Открыл терминал, запустил psql, запустил селект к БД, открыл эдитор DBeaver выполнил запрос к pg_stat_activity.
13 ноя 20, 09:00    [22231225]     Ответить | Цитировать Сообщить модератору
 Re: Множатся процессы при вставке данных  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4396
kliff,

Ооох блин...попробую еще раз...
"Вроде подробно описал что показывает pg_stat_activity, 5-6 одинаковых запросов, ну если это что то прояснит, то не трудно
pid state query"

сколько колонок по вашему в pg_stat_activity и почему вы решили что остальные для красоты там?
я разве просил по списку колонок "pid state query" ?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
13 ноя 20, 10:01    [22231257]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить