Size: a a a

pgsql – PostgreSQL

2020 May 20

S

Sergey Grachev in pgsql – PostgreSQL
поэтому хотелось бы как то ограничить ресурсы селектам/другим запросам, чтобы не выжирали диск в полку
источник

S

Sergey Grachev in pgsql – PostgreSQL
вдруг в очередной раз где то разраб ошибётся, например
источник

АС

Артур Семенов... in pgsql – PostgreSQL
Привет, кто-нибудь сталкивался с проблемой доступность 5432 порта на Гугл клауд серваке? (Правило с брандмауэре настроил)
источник

АС

Артур Семенов... in pgsql – PostgreSQL
телнет не проходит
источник

S

Sergey Grachev in pgsql – PostgreSQL
Хотя мне вроде уже объяснили что я хрень хочу и так нельзя) надо чтобы в запросах не косячили
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Evgeny
Хитрые правила тут до лампочки, мне хочется просто понять, как решить проблему того, что уникальность индекса проверяется для каждой строки, а не для результата запроса.
можно посмотреть в сторону DEFERRED, но это для CONSTRAINT, а не просто индексов
источник

VY

Victor Yegorov in pgsql – PostgreSQL
. Prividen
боюсь, другие методы за пределами моих квалификаций. :(
Это надо довольно плотно садиться учить-разбираться с Pg, что для меня немного непрофильно.
Возможно потом, если вдруг найдём себе настоящего DBA. И будет о чём спросить на собеседовании 😂
скажем так: проблема была понятна, кривая оценка. а вот как её решить — вопрос другой, стандартные методы не работали.
была бы возможность изменить запрос, было бы проще.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Sergey Grachev
Всем привет. Вопрос весьма странный, но всё же) Подскажите, пожалуйста, следующую вещь. Постгрес 10, есть некий селект на тяжелую таблицу который очень долго выполняется и в это время диск на read забит на 100%. Это вызывает хреновый эффект - соседние запросы на select/update/etc начинают долго выполняться. Можно как то ограничить использование диска запросами?
а сколько памяти и ядер всего, какой размер shared_buffers и work_mem, сколько max_connections?
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
Ребята, подскажите пожалуйста реально ли с помощью Postgresql сделать следующее.
База большая, записей прям миллиарды строк.
Есть таблицы
Table_A с полем ID,
Table_B с полями ID, Table_A_ID, external_ID
Нужно в Table_B кластеризовать все записи, где при едином Table_A_ID больше одной external_ID.
[ID],[Table_A_ID],[external_ID]
1, 23, qwe; <— интересно (несколько Table_A_ID = 23)
2, 23, xcx; <— интересно( несколько Table_A_ID = 23)
3, 3, asd; <— нет
4, 33, awd; <— нет
И дать им Cluster_ID = 1.
В следующей найденой записи, если будет пересечение хотябы с одним предыдущими найдеными external_ID, то дать им тот же Cluster_ID, что у предыдущего. Если нет пересечений то Cluster_ID++;

Спасибо за ваше время!
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Dimitriy Belokon
Ребята, подскажите пожалуйста реально ли с помощью Postgresql сделать следующее.
База большая, записей прям миллиарды строк.
Есть таблицы
Table_A с полем ID,
Table_B с полями ID, Table_A_ID, external_ID
Нужно в Table_B кластеризовать все записи, где при едином Table_A_ID больше одной external_ID.
[ID],[Table_A_ID],[external_ID]
1, 23, qwe; <— интересно (несколько Table_A_ID = 23)
2, 23, xcx; <— интересно( несколько Table_A_ID = 23)
3, 3, asd; <— нет
4, 33, awd; <— нет
И дать им Cluster_ID = 1.
В следующей найденой записи, если будет пересечение хотябы с одним предыдущими найдеными external_ID, то дать им тот же Cluster_ID, что у предыдущего. Если нет пересечений то Cluster_ID++;

Спасибо за ваше время!
вас интересует именно определённый порядок записей? этот порядок как-то определяется другими полями в таблице (id, created)?
т.е. если в вашем примере через сколько-то строчек появится запись 100,23,zzz — это Cluster_ID=1?
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
Victor Yegorov
вас интересует именно определённый порядок записей? этот порядок как-то определяется другими полями в таблице (id, created)?
т.е. если в вашем примере через сколько-то строчек появится запись 100,23,zzz — это Cluster_ID=1?
да, верно
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Dimitriy Belokon
да, верно
уточните к какому из вопросов это относится, пжлст
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
Victor Yegorov
уточните к какому из вопросов это относится, пжлст
ко второму
а первый, к сожалению не понимаю, могли бы объяснить?
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
речь о сортировке?
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
если так, то, думаю нет разницы, при любой сортировке пересечение в итоге сойдется так же
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Dimitriy Belokon
ко второму
а первый, к сожалению не понимаю, могли бы объяснить?
а разве Table_A_ID уже не является таким признаком кластеризации? зачем ещё один?
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
идея в том, что после присвоения Cluster_ID = 1, к 100,23,zzz
мы можем далее встретить  101, 234, zzz
и так как такой external_ID как zzz у нас уже отмечен как Cluster_ID = 1, то мы знаем, что все записи с Table_A_ID = 234 тоже являются Cluster_ID = 1
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
я думаю, что представляю как это можно сделать подключая язык программирования, и это будет скрипт с огромным количеством запросов и выполнением за неареальное количество времени.
и я надеюсь что силами самой БД это можно сделать проще и быстрее
источник

VY

Victor Yegorov in pgsql – PostgreSQL
чёт я перестал понимать логику присвоения Cluster_ID
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
извините, что запутал, попробую проще
источник