@pgsql

Страница 456 из 1062
Yura
05.09.2017
06:14:13
Кроме того, можно перевести коннект в режим репликации, и тогда ничего выполнятся не будет.

Google
Yura
05.09.2017
06:17:13
Ищу. Вылетело из головы.

Yura
05.09.2017
06:26:24
https://www.postgresql.org/docs/9.6/static/runtime-config-client.html#GUC-SESSION-REPLICATION-ROLE

set session_replication_role=replica; и ломай базу как хочешь.

(но только от суперюзера)

Sergey
05.09.2017
06:34:06
Спасибо, интересно.

Alexandr
05.09.2017
06:34:55
Не было внешних ключей. Ну да, сначало удалил ограничения, потом когда удалил строки с null заново создал их.
Благодарю! Просто думал, может какой другой путь был :) Выше подсказали, попробую. Задача была просто перегнать схемы в краткие сроки, вот развлекался. Позже поэксперементирую - того кода уже нет, писал на работе.

Mikhail
05.09.2017
11:34:53
Всем привет! Есть jsonb столбец. Можно ли найти пересечение json ключей у двух строк этой таблицы?

Dmitry
05.09.2017
11:37:08
двух конкретных строк?

Mikhail
05.09.2017
11:38:11
Dmitry
05.09.2017
11:39:02
ну или джоин на себя или просто подзапрос

ну и написать какую-нить хранимку для пересечения

Mikhail
05.09.2017
11:43:28
Так, а что писать в этой хранимке? Есть примеры как работать с jsonb в хранимке?

Google
Darafei
05.09.2017
11:44:19
так а что ты хочешь сделать? :)

Yuriy
05.09.2017
11:44:31
Mikhail
05.09.2017
11:44:33
Найти пересечение ключей :)

Darafei
05.09.2017
11:45:03
в https://www.postgresql.org/docs/9.6/static/functions-json.html всего достаточно

Dmitry
05.09.2017
11:45:11
да в общем не обязательно хранимку... но мне кажется нужно двигаться в направлении разворачивания json в строки и потом две таких "таблицы" SELECT ... INTERSECT

Darafei
05.09.2017
11:45:25
когда недостаточно, можно распаковать в таплы и обычным SQL

Mikhail
05.09.2017
11:46:03
Да, хранимку не желательно конечно, лучше запросом

Darafei
05.09.2017
11:46:28
a-(a-b) даст пересечение

чёрт, jsonb - jsonb нет

Mikhail
05.09.2017
11:47:00
a-(a-b) даст пересечение
А как оно будет искать? Только по корневым ключам?

Darafei
05.09.2017
11:48:16
select * from jsonb_object_keys(a) a, jsonb_object_keys(b) where a=b

Mikhail
05.09.2017
11:48:43
Darafei
05.09.2017
11:49:01
поровнять напильником, пока не заработает

Mikhail
05.09.2017
12:08:01
поровнять напильником, пока не заработает
А если обычный json, то a-(a-b) даст прямо json пересечения?

??Suffer
05.09.2017
12:34:13
Привет.

У меня на рабочем компьютере 16gb памяти и ssd который есть узким местом при запросах. Можно как-то заставить постгрес агресивней кешировать данные между запросами?

Данные одни и те же

Lev
05.09.2017
12:36:40
working mem какой стоит?

Sergey
05.09.2017
12:37:24
shared_buffers https://www.postgresql.org/docs/current/static/runtime-config-resource.html

Darafei
05.09.2017
12:37:36
если твой датасет меньше 16гб, то он просто системой поднимется в память

Google
Darafei
05.09.2017
12:37:53
если больше, то непонятно, что в память складывать

??Suffer
05.09.2017
12:41:43
Вся база 120гб, но нужные мне данные занимают примерно половину

max_connections = 10 shared_buffers = 5560MB effective_cache_size = 7680MB work_mem = 1256MB maintenance_work_mem = 640MB min_wal_size = 1GB max_wal_size = 2GB checkpoint_completion_target = 0.7 wal_buffers = 16MB default_statistics_target = 100

Так work_mem или shared_buffers?

Anton [Mgn, az09@osm]
05.09.2017
12:42:20
оба два. и памяти побольше )

Darafei
05.09.2017
12:42:23
Alex
05.09.2017
12:43:07
может посмотреть почему на диск лезет ?

Darafei
05.09.2017
12:43:16
что ты туда закешируешь, чтобы не ходить за 60 гигами данных на диск? :)

если это аналитика и один запрос на всю машину, то смотреть в параллельность (ssd на параллельном чтении разгоняются быстрее)

быстрее 5 минут всё равно твои данные не прочитать

??Suffer
05.09.2017
12:48:07
и что ты хочешь от 16гб памяти?
Немного разгрузить диск ибо у меня все лагает и я не могу делать другие задания :D

Darafei
05.09.2017
12:48:50
а, машина для числодробления и для рисования окошек должна быть разной

Dmitry
05.09.2017
12:49:03
удали гигов 100 и можешь спокойно делать другие задачи ;)

Alex
05.09.2017
12:49:23
ну что то же пользует диск

Darafei
05.09.2017
12:49:38
А как?
explain / explain (analyze, verbose, buffers)

??Suffer
05.09.2017
12:50:11
Alex
05.09.2017
12:50:35
комплексное решение проблемы :)

Maksim
05.09.2017
12:51:16
можно и далее - применить патч Бармина

Google
??Suffer
05.09.2017
12:51:18
Мигрировать в mysql?

Ilya
05.09.2017
12:51:27
Вот!

Darafei
05.09.2017
12:51:42
Мигрировать в mysql?
нет, не считать днём на машине ничего

Ilya
05.09.2017
12:51:44
Убер смигрировал в Мускул и счастлив. ?

Stas
05.09.2017
12:51:44
Немного разгрузить диск ибо у меня все лагает и я не могу делать другие задания :D
если это линукс, то можно шедуллер записи поменять cfq/deadline/noop.

??Suffer
05.09.2017
12:51:53
Вот!
Cпасибо!

??Suffer
05.09.2017
12:52:40
если это линукс, то можно шедуллер записи поменять cfq/deadline/noop.
> использовать постгрес не на линуксе А так кто-то делает?

Ilya
05.09.2017
12:53:14
Приходит молодой еврей к ребе: - Ребе, ребе, что мне делать женится или нет? Ребе: - Женись. - Но она страшная. - Тогда не женись. - Но у неё богатый отец. - Тогда женись. - Так что мне делать? Женится или нет? - Слушай, а ты не думал принять православие?

Darafei
05.09.2017
12:53:38
ну и "16 гигов памяти и SSD" может быть и старым макбуком

и тогда это постгрес на маке

Ilya
05.09.2017
12:55:34
а может быть и не SSD

??Suffer
05.09.2017
12:55:59
а лагает не из-за CPU ?
нет, загрузка минимальная

Darafei
05.09.2017
12:56:06
а в iotop что?

??Suffer
05.09.2017
12:56:18
postgres 99%

Darafei
05.09.2017
12:56:46
а в explain что?

Google
Darafei
05.09.2017
12:57:08
а может быть и новым :)
ой, они научились снова делать маки с 16гб? ух ты!

Alex
05.09.2017
12:57:47
Darafei
05.09.2017
12:59:51
нормальный десктоп тоже нормально стоит :)

??Suffer
05.09.2017
13:00:03
такс

А что порядок записи джойнов в запросе влияет на то как это будет делать постгрес?

Alex
05.09.2017
13:00:59
смотря какие условия джойнов еще

??Suffer
05.09.2017
13:02:05
Всем спасибо. Вопрос снят :)

Darafei
05.09.2017
13:02:44
Всем спасибо. Вопрос снят :)
ты научился читать explain? :)

??Suffer
05.09.2017
13:03:07
Лучше купить новый M.2 ssd или +48 памяти?

Darafei
05.09.2017
13:03:53
лучше научиться читать explain

и в целом оценивать асимптотическую сложность алгоритма / запроса

Mikhail
05.09.2017
13:04:55
поровнять напильником, пока не заработает
Кстати, а пересечение массивов как найти? Можно просто при обновлении json поля написать триггер который будет вставлять отедльным столбцом все ключи json

и потом искать пересечение именно массивов

Dmitry
05.09.2017
13:08:08
ой, они научились снова делать маки с 16гб? ух ты!
15-ки пробуки есть с 16Гб. А в "ведро" маковское можно и больше навтыкать

Alex
05.09.2017
13:09:29
и потом искать пересечение именно массивов
если это int то можно взять intarray

Darafei
05.09.2017
13:36:58

Страница 456 из 1062