@pgsql

Страница 436 из 1062
Nikolay
21.08.2017
05:59:21
Параметр закоментирован

Denis
21.08.2017
06:04:10
Первое - а на каком запросе все падает? Ну и второе, отпишитесь в постгресовый багрепорт.

Denis
21.08.2017
06:11:45
А можно схему задействованных таблиц и сам запрос? Ну или сами проверьте его на тестовой схеме с нагенерированными данными. Если повторяется сегфолт, вам 100% на багтрекер. Если нет, то можно попробовать подключиться по gdb

Google
Artem
21.08.2017
06:13:20
https://pastebin.com/KZzUAJ7s

Есть смысл полностью отключить huge pages?

Denis
21.08.2017
06:17:58
Вы нашли какую-то проблему с памятью при выполнении вашего запроса в случае параллельного сканирования. Если есть возможность исключить влияние huge pages, сделайте это.

Artem
21.08.2017
06:47:17
Ок, спасибо, будем экспериментировать.

Артур
21.08.2017
09:17:58
Всем привет. Вопрос немного не в тот чат, но иного у меня нет :) В БД есть понятие "нормализация", аналогично в программировнии есть правило, при котором 1 класс должен выполнять 1 простую логику. Не помню название как оно официально называется. кто знает скажите пожалуйста Ответ на опережение: поиск юзал.

sic transit
21.08.2017
09:18:39
сингл респосивити

Артур
21.08.2017
09:19:05
Fike
21.08.2017
09:27:16
Респонсибилити

bal
21.08.2017
11:31:19
всем привет, ссорян за глупый вопрос а чем отличается insert от update спасибо заранее

Darafei
21.08.2017
11:34:22
Igor
21.08.2017
11:46:22
Апдейт это делит и инсерт вроде

В одном флаконе :)

bal
21.08.2017
11:51:13
Спасибо большое :))

Google
Sergey
21.08.2017
11:53:22
Igor
21.08.2017
12:01:38
Sergey
21.08.2017
12:03:10
HOT updates например

Ildar
21.08.2017
12:13:14
При хот апдейтах тоже создаётся новая версия тупла, только индекс не обновляется. В itemid помещается редирект

Sergey
21.08.2017
12:15:09
и происходит все это только в рамках одной странички... в курсе. Однако Update != Delete + Insert

Ildar
21.08.2017
12:20:02
Ну в старый тупл ставится xmax и создаётся новый. Это по сути то же самое, что делает delete+insert

Darafei
21.08.2017
12:20:49
Апдейт это делит и инсерт вроде
В общем случае нет, например, за fdw апдейт может быть не-mvcc хранилище и апдейт станет апдейтом

Kirill
21.08.2017
12:21:23
Еще insert умеет обрабатывать уник конфликты.

Хороший вопрос кстати для тех. интервью

Darafei
21.08.2017
12:22:53
Еще insert умеет обрабатывать уник конфликты.
А как их не умеет обрабатывать update?

Sergey
21.08.2017
12:23:24
Ну в старый тупл ставится xmax и создаётся новый. Это по сути то же самое, что делает delete+insert
однако даже если рассматривать только страничку с таплом который обновили. Она не будет идентичной после update и transasction(delete + insert)

Kirill
21.08.2017
12:23:47
Апдейт на существующее значение

Darafei
21.08.2017
12:25:36
Апдейт на существующее значение
По идее в апдейте ты это можешь и сам разрулить, через какое-нибудь where not exists и вычислимое значение в set

Это в insert нужен on conflict update, потому что ты тапл или создаешь, или обновляешь

Darafei
21.08.2017
12:27:22
Можно не спорю, даже лучше использовать IS DISTINCT FROM.
is distinct from к чему в случае конфликта?

Kirill
21.08.2017
12:27:40
Вместо not exists

Darafei
21.08.2017
13:00:42
Как ты организуешь отсутствие конфликта после апдейта через is distinct from внутри update?

loki
21.08.2017
13:12:28
Сап народ, кто-нибудь сталкивался со сломанным внешним архиватором? $ pg_dump -Fc > dump.gz postgrespro-9.6.4 " pg_dump: [внешний архиватор] ПРЕДУПРЕЖДЕНИЕ: позиция ftell не соответствует ожидаемой -- используется ftell"

Yura
21.08.2017
13:14:26
А место на диске точно не кончилось?

Google
loki
21.08.2017
13:15:40
Место есть, туда же без кастомного формата без проблем создается

nietzschebrod
21.08.2017
13:17:01
не винда случайно?

loki
21.08.2017
13:18:02
Проверил все-таки cent os, беглое гугление привело: а) у вас кончилось место б) проверьте что не винда :)

Вообще технически он что-то и так пишет, я просто не риснул ждать. Причем даже на пустой схеме

nietzschebrod
21.08.2017
13:30:56
попробуй -f вместо редиректа

алсо это не .gz

Dmitry
21.08.2017
14:50:34
Ребята, расскажите как сейчас модно\правильно обновлять субд до 9.6 без простоя и используя новый сервер? какой из инструментов наиболе прост и работает как заявлено: slony, londiste, pgpool, pgbouncer?

Dmitry
21.08.2017
14:56:30
@vadvmkn делитесь лучше опытом миграций\обновлений :) а не вот этим вот.

Dmitry
21.08.2017
14:57:56
@vadvmkn делитесь лучше опытом миграций\обновлений :) а не вот этим вот.
если вы хотите узнать личное мнение - если не одним из slony, londiste и pgpool (не дай бог) еще не пользуетесь, то обновление через них без остановки - реальный оверхед для этого

pgpool и pgbouncer - даже не знаю чем поможет (RO копия?)

Dmitry
21.08.2017
15:02:02
Что тогда посоветуете?

Dmitry
21.08.2017
15:02:55
Что тогда посоветуете?
регламентные работы и pg_dump && restore

без переходных версий, прям на последнюю, которая вас устраивает

а до этого тестировать новую версию и тренироваться как сделать restore быстрее чтобы востанавливать в несколько потоков

бинарный апгрейд - конечно хорошо, но я никогда ему не доверял, сорян :(

Dmitry
21.08.2017
15:06:01
этот вариант мне нравится больше всего. но есть вопросы, будет ли достаточно времени для плановых работ и делать ли при этом pg_upgrade или это излишне?

Google
Dmitry
21.08.2017
15:06:52
выше читайте. я бы использовал pg_dump && restore

представляете сколько может жить ошибка в pg_upgrade

Dmitry
21.08.2017
15:15:43
ок. благодарю за ответы.

Ildar
21.08.2017
15:26:27
на pgday рассказывали как обновляются с pglogical. Поднимают логическую реплику, догоняются и включают ее как основной сервер. Сам не пробовал, но вроде как должен быть минимальный даунтайм

Mike Chuguniy
21.08.2017
15:28:02
pglogical уже умеет весь инстанс или до сих пор одной базой всё ограничено?

Admin
ERROR: S client not available

Ildar
21.08.2017
15:30:54
хз

Dmitry
21.08.2017
15:37:26
Вот
ВРЕТИ

Mike Chuguniy
21.08.2017
15:38:12
ВРЕТИ
Мы ещё и не так могём!

Игорь
21.08.2017
16:20:45
регламентные работы и pg_dump && restore
А если бд больше 10GB? Например over 100GB? dump - от 1 часа restore - от 2-3 часов

Nikolay
21.08.2017
16:24:36
Тогда не обновляйте :) Авито до сих пор на 9.2 :)

Gonchik
21.08.2017
16:25:57
Тогда не обновляйте :) Авито до сих пор на 9.2 :)
А как обновлять будут? Чем дальше, тем тяжелее не?

Nikolay
21.08.2017
16:28:28
А как обновлять будут? Чем дальше, тем тяжелее не?
И так работает! Бизнес бабки приносит! Зачем?

Gonchik
21.08.2017
16:33:00
И так работает! Бизнес бабки приносит! Зачем?
Упрутся в какую-нить багу которая зафикшена на следующем мажоре, и несколько фич нужных. Например, так.

Dmitry
21.08.2017
16:35:51
А если бд больше 10GB? Например over 100GB? dump - от 1 часа restore - от 2-3 часов
Рестор в несколько потоков (индексы в один поток) через несколько бакендов, вручную через psql. 400 gb за пару+тройку часов укладывается, если не оч много индексов

А так вообще вам самим нужно решать- что важнее целостность данных или несколько часов на майнтенс

Google
Dmitry
21.08.2017
16:39:33
Фичи - да. Но фичи деньги помогут зарабатывать или самолюбие разраба будет тешить?

Nikolay
21.08.2017
16:43:41
Исправления бэкпортят в саппортед версии
Как лайф цикл закончится на мускул перейдут, во!

Ну, мускул погоди!

Gonchik
21.08.2017
16:46:53
Ну, мускул погоди!
Это же у убер такой переход был? С мускул и обратно? Точно ;) https://eng.uber.com/mysql-migration/

Nikolay
21.08.2017
16:47:43
Вот и разрабы потешились!

Fike
21.08.2017
16:52:19
А как обновлять будут? Чем дальше, тем тяжелее не?
Там достаточно посмотреть на дизайн, чтобы понять, что обновление - это слово немного не про них

Айтуар
21.08.2017
19:01:53
этот вариант мне нравится больше всего. но есть вопросы, будет ли достаточно времени для плановых работ и делать ли при этом pg_upgrade или это излишне?
Я всегда делал через pg_upgrade, пока ничего не сломалось, инстансы были от нескольких ГБ до сотен. Если делать через хардлинки, то upgrade быстрый в 1 час можно уложится, но тут уже обязателен бекап БД иначе откатываться некуда будет.

Айтуар
21.08.2017
19:05:02
почему вы считаете что ничего не сломалось? :) в смысле ничего подозрительного не видно не было?
Ну да, к тому же инстансы некоторые были с чексуммами. И в процессе дальнейшей работы пока ничего не сломалось.

Dmitry
21.08.2017
19:05:25
чек суммы не зашищают

по крайней мере от всего :)

выкрутасов файловой системы

ща :)

/usr/lib/postgresql/9.6/bin/initdb -D main -k /usr/lib/postgresql/9.6/bin/pgbench -i -s 100 postgres=# select count(*) from pgbench_accounts; count —------— 10000000 (1 row) postgres=# \q postgres@ubuntu:~/9.6$ rm -f main/base/12439/16396.1 postgres@ubuntu:~/9.6$ psql psql (9.6.4) Type "help" for help. postgres=# select count(*) from pgbench_accounts; count —------- 7995392 (1 row) postgres=#

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