
Alex
18.10.2016
14:56:30
а план то какой был когда параллельность была

tufedtm
18.10.2016
14:57:09
план, к сожалению, тогда не смотрел
сейчас поставил снова 8 и 4
план тот же, что и выше
Index Only Scan

Google

tufedtm
18.10.2016
15:00:53
почитал про секционирование
и как понял можно сделать к примеру секции по 10кк записей
и если берется запись с номером 18кк, то затрагивается только вторая секция (10-20кк)
но как это поможет в моем случает, я ведь селект по всему делаю
т.е. селектом все записи достаю

Айтуар
18.10.2016
15:30:08
Вообще без фильтра?!

tufedtm
18.10.2016
15:31:31
совсем
заношу данные в таблицу
по всей таблице считаю дубли
вывожу в порядке убывания


Alex
18.10.2016
15:31:38
какие
я вот сделал так
create table test as select (random()*1000000+1)::int as id from generate_series(1,1000000);
postgres=# explain select id ,count(id) as count from test group by id having count(id)>1 order by count ; QUERY PLAN
—-------------------------------------------------------------------------------------------
Sort (cost=188646.20..189847.91 rows=480685 width=12)
Sort Key: (count(id))
-> GroupAggregate (cost=120257.34..135064.19 rows=480685 width=12)
Group Key: id
Filter: (count(id) > 1)
-> Sort (cost=120257.34..122757.34 rows=1000000 width=4)
Sort Key: id
-> Gather (cost=0.00..6925.00 rows=1000000 width=4)
Workers Planned: 4
-> Parallel Seq Scan on test (cost=0.00..6925.00 rows=250000 width=4)
(10 rows)
это при
name | setting
—-------------------------------+---------
force_parallel_mode | on
max_parallel_workers_per_gather | 4
min_parallel_relation_size | 0
parallel_setup_cost | 0
parallel_tuple_cost | 0
(5 rows)
postgres=# show max_worker_processes;
max_worker_processes
—------------------—
32
(1 row)

Google

tufedtm
18.10.2016
15:33:41
force_parallel_mode | off
max_parallel_workers_per_gather | 4
min_parallel_relation_size | 1024
parallel_setup_cost | 1000
parallel_tuple_cost | 0.1
(5 rows)max_worker_processes
----------------------
8

Alex
18.10.2016
15:34:38
если их в ноль как я выкрутить
за искл max_parallel_workers_per_gather

Darafei
18.10.2016
15:36:54
а что вы пытаетесь сделать? :)
параллельность в плане зафорсить?

Alex
18.10.2016
15:38:39
ускорить запрос %)

tufedtm
18.10.2016
15:41:50
сделал по нулям - тот же результат
добавил force_parallel_mode = on
получил 1 воркер
дропнул индексы

Alex
18.10.2016
15:44:11
вопросы оптимизации запросов упирающихся в CPU всегда интересные

Maksim
18.10.2016
15:47:21
К сожалению, параллельную сортировку ещё не ввели

Darafei
18.10.2016
15:48:32
в смысле не ввели?
она есть, только включается вместе с агрегацией
мне из-за этого приходится странные запросы с агрегацией по всем полям писать :)

Alex
18.10.2016
15:50:20
ввели
max_parallel_workers_per_gather чему равен

tufedtm
18.10.2016
15:51:39
4

Alex
18.10.2016
15:51:53
а вакуум был на таблицу

Alex
18.10.2016
15:53:06
и уперлось то один фиг в диск судя по последнему скрину

Google

Alex
18.10.2016
15:53:35
тут еще сортировка на диске
если work_mem закрутить повыше?

Alex
18.10.2016
15:53:54
пробывали бестолку..
тупо в цпу упирается

Darafei
18.10.2016
15:54:25
так а во что ему упираться? или в цпу, или в диск :)

Айтуар
18.10.2016
15:54:43

Maksim
18.10.2016
15:55:13
в смысле не ввели?
Точнее Gather Merge https://www.postgresql.org/message-id/CAGPqQf09oPX-cQRpBKS0Gq49Z+m6KBxgxd_p9gX8CKk_d75HoQ@mail.gmail.com

Alex
18.10.2016
15:56:58
может есть какие-то общие рекомендации к этому

Айтуар
18.10.2016
16:02:41

Alex
18.10.2016
16:03:35
чтот как-то ой

Konstantin
19.10.2016
06:04:01
Сaжаем на диету индексы PostgreSQL для Zabbix
https://habrahabr.ru/post/310462/
Теги: Серверное администрирование, Серверная оптимизация, Администрирование баз данных, *nix, Блог компании Centos-admin.ru, zabbix, postgresql, производительность
Автор: olemskoi на #habrahabr

Nikolay
19.10.2016
06:18:19
В их случае помог бы https://github.com/PostgreSQL-Consulting/pgcompacttable
И не забываем настроить https://www.zabbix.org/wiki/Docs/howto/zabbix2_postgresql_autopartitioning#Auto_Partitioning_with_Zabbix_2.0_and_Postgresql.

Александр
19.10.2016
07:11:34
Глупый вопрос: на постгрес будет быстрее, чем на майскл?

Nikolay
19.10.2016
07:29:45

Александр
19.10.2016
07:30:11
Работать будет быстрее, при прочих равных

Maxim
19.10.2016
07:33:02
рискую начать холивор, но что такое "прочие равные"?
дефолтный конфиг из пакетманагера на одинаковых нодах?

Sergey
19.10.2016
08:13:28
Ребят, помогите пожалуйства по выборке. Мне нужно найти среднее значение в каждом из столбцов. Но нужно исключить значения выделинные красным. С одним столбцом всё легко получалось, а сейчас ступор у меня, т.к. прошлый подход будет игнорить 2-й и 3-й столбец, чего делать не нужно.

Google

Yegor
19.10.2016
08:14:49
Даю подсказку - window функции
А именно lag

Sergey
19.10.2016
08:18:03
@Ychumakov спасибо за наводку

James
19.10.2016
08:27:26
всем привет. есть пг 9.4.1

Admin
ERROR: S client not available

James
19.10.2016
08:27:37
влился дамп, но юзер не может создавать таблицы
сделал ему
grant all privileges on database имя to имя;
не помогло
пишет типа у вас права рид онли

Yegor
19.10.2016
08:28:33
Попробуй от юзера postgres

James
19.10.2016
08:40:29
я так и делаю
он пишет что назначает
но по факту нет
psql (9.4.1)
Type "help" for help.
postgres=# grant all privileges on database имя to имя;
GRANT
postgres=# \q

Sergey
19.10.2016
08:45:37
alter role имя login; ?
а... выше не видел. Думал может просто не логинится... это не надо значит.

Azat
19.10.2016
08:48:47
Коллеги, никто не сталкивался с миграцией из Oracle в Postgres таких SQL выражений как KEEP и dense_rank для оконных функций?

James
19.10.2016
08:53:58
блин ну че тут никто не мог сказать что поменяй права юзеру и таблице
капец

Google

James
19.10.2016
08:54:07
через пгадмин 2 мин и все готово
тфу на вас

Nikki
19.10.2016
09:34:10
Ребят,привет. Мы в команду ищем PostgreSQL-разработчика. Подскажите,здесь можно вакансию опубликовать? Если нет - редиректните,пож-та,туда,где можно.

Azat
19.10.2016
09:39:06
Коллеги, неужели никто не сталкивался с Window Functions in Postgres?

Roman
19.10.2016
09:42:58
реализация dense_rank точно есть в пг, но не могу гарантировать насколько она аналогична оракловой
с keep не знаком

Azat
19.10.2016
09:43:29
да dense_rank есть
но проблема с KEEP - я никак не могу сообразить как мирировать эти SQL в PG

Roman
19.10.2016
09:54:55
попробуйте добавить сортировку к партиционированию, проранжируйте, и отбросьте по row_number() все кроме first / last, оформив это все во вложенный запрос
насколько я понял, в более тривиальных случаях это должно сработать

Azat
19.10.2016
09:58:24
хм интересно
надо попробовать
спасибо Роман

Mars
19.10.2016
10:01:12
Всем привет. Ребята, подскажите, пожалуйста как сделать каскадное удаление без объявления ON DELETE CASCADE одним запросом?

Roman
19.10.2016
10:03:45
with tbl1 as ( delete from some table returning id ) delete from table2 using tbl1 where table2.id = tbl1.id;
примерно так