@pgsql

Страница 937 из 1062
Terminator
13.08.2018
19:48:36
@MDanik будет жить. Поприветствуем!

Dan
13.08.2018
19:48:47
Доброй ночи

Подскажите как запрос mysql перевести для postgre

Google
Dan
13.08.2018
19:49:17
"SELECT h.name AS host, h.hostid AS hostid, t.triggerid," \ "t.description AS trigger, t.priority AS severity, t.lastchange " \ "FROM triggers t " \ "LEFT JOIN functions f ON t.triggerid = f.triggerid " \ "LEFT JOIN items i ON f.itemid = i.itemid " \ "LEFT JOIN hosts h ON i.hostid = h.hostid " \ "LEFT JOIN hosts_groups hg ON h.hostid = hg.hostid " \ "LEFT JOIN groups g ON hg.groupid = g.groupid " \ "LEFT JOIN interface ifa ON h.hostid = ifa.hostid AND ifa.main = 1 " \ "WHERE t.value = 1 " \ "AND h.status = 0 " \ "AND t.status = 0 " \ "AND i.status = 0 " \ "AND t.priority > 0 " \ "GROUP BY t.triggerid;"

Yaroslav
13.08.2018
19:54:18
Подскажите как запрос mysql перевести для postgre
А Вы пробовали выполнять "как есть"? На первый взгляд ничего специфичного... впрочем, PostgreSQL скажет, если не так. ;)

Dan
13.08.2018
19:55:12
ШИБКА: ошибка синтаксиса (примерное положение: "`") СТРОКА 1: ... h.hostid AS hostid, t.triggerid,t.description AS trigger,...

elfiki
13.08.2018
19:56:14
но там же нет `

Dan
13.08.2018
19:56:23
ОШИБКА: столбец "h.name" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции СТРОКА 1: SELECT h.name AS host, h.hostid AS hostid, t.triggerid,t.des...

пробовал )

но там же нет `
телега красным отметила

проверка `ghj`

ghj в двойных написал

elfiki
13.08.2018
19:57:57
поменять на AS "trigger"

elfiki
13.08.2018
19:59:49
ну добавить h.name в группировку. или они там разные бывают?

Yaroslav
13.08.2018
19:59:53
ОШИБКА: столбец "h.name" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции СТРОКА 1: SELECT h.name AS host, h.hostid AS hostid, t.triggerid,t.des...
А, теперь вижу. Действительно, выражения в SELECT list должны быть либо в GROUP BY, либо агрегатными функциями. Т.е. меняйте так, как нужно по смыслу.

Google
Dan
13.08.2018
20:00:15
понял, пойду читать гугл )

спасибо

elfiki
13.08.2018
20:00:32
да просто добавить h.name в группировку

h.hostid и остальное

Yaroslav
13.08.2018
20:01:37
да просто добавить h.name в группировку
А откуда Вы знаете, что это будет правильно? Это ж MySQL (причём, неизвестно какой версии). ;)

elfiki
13.08.2018
20:03:36
Helena
13.08.2018
20:14:06
https://www.postgresql.org/docs/current/static/warm-standby.html#STREAMING-REPLICATION
Репликация как я понимаю в любом случае подразумевает кластер.. а у меня получается все в рамках одной вм. С кластерами никогда не работала, похоже настало это время..)

Yaroslav
13.08.2018
20:17:06
Репликация как я понимаю в любом случае подразумевает кластер.. а у меня получается все в рамках одной вм. С кластерами никогда не работала, похоже настало это время..)
Ну, в приниципе, репликация может быть и между кластерами на одной машине... просто так редко делают (просадка по производительности, по идее, большая). ;)

Yaroslav
13.08.2018
20:29:20
В принципе да) но этот вариант с просадкой не привлекает конечно от слова совсем)
Ну, может у Вас ресурсов хватит на это... но я так понимаю, задача как раз с нехваткой ресурсов и связана?

Тем не менее, можно попробовать потихоньку (throttling) снять/развернуть basebackup, и так же дождаться, пока реплика "догонит" (лучше, в период минимальной нагрузки)... Можно над этим подумать, по крайней мере.

Dan
13.08.2018
20:33:06
понял, пойду читать гугл )
как бы не напиться https://zabbix.org/mw/images/0/0c/Zabbix_db_schema-2.4.3-MySQL.svg

Helena
13.08.2018
20:34:57
Ну, может у Вас ресурсов хватит на это... но я так понимаю, задача как раз с нехваткой ресурсов и связана?
Ресурсов-то добавить попросить моооожно... Но не хотелось бы) хотелось бы какого-нибудь бэст практис :) и я как понимаю это реплика. Про basebackup подумаю ?

Спасибо)

Anton [Mgn, az09@osm]
14.08.2018
02:29:34
как бы не напиться https://zabbix.org/mw/images/0/0c/Zabbix_db_schema-2.4.3-MySQL.svg
Наоборот радоваться надо что есть подобное описание :3

Terminator
14.08.2018
06:03:21
@SvidetelFNL будет жить. Поприветствуем!

Alexander
14.08.2018
07:12:38
Коллеги, а озадачивался кто вопросом исключения записей из селекта если их уже модифицирует другая транзакция? Задача: исключить из текущего селекта записи которые уже апдейтит другая транзакция. Пытаемся использовать служебное поле xmin и снапшоты, но как-то безрезультатно. Хотим использовать именно эту возможность, чтобы избежать блокировок.

Google
Oleg
14.08.2018
08:22:58
TEH3OP
14.08.2018
08:23:34
однако ж в этом мегадоллар обогнал пуську

Ilia
14.08.2018
08:23:56
Переведи...

TEH3OP
14.08.2018
08:24:51
мегадоллар = M$ = MS = microsoft пуська = пусьгрес = посьгрес = постгрес = postgressql

Oleg
14.08.2018
08:24:58
ну что-то о преводсходстве ms над pg, или наоборот

TEH3OP
14.08.2018
08:25:19
в MS SQL давно уже "READ PAST" - для этого

я собсно вопрос пришёл задать :)

Вот я делаю: pg_dump zabbix -f zabbix.public.history_uint.sql -s -n public -t history_uint Чтоб получить скрипты создания индексов всех. Но: * у меня там и таблица включена. Можно убрать её параметрами pg_dump? * можно быть уверенным что pg_dump вставляет каменты свои красивые и парсить результат опираясь на каменты?

Alexander
14.08.2018
08:33:33
Можа это https://postgrespro.ru/docs/postgresql/9.5/sql-select SKIP LOCKED
Вот так решили вопрос - select * from test where xmax::text not in(select (txid_snapshot_xip % (2^32)::bigint)::text from txid_snapshot_xip(txid_current_snapshot()))

Alexander
14.08.2018
08:35:22
Предположили, что долго будет и отказались))

crux
14.08.2018
08:36:07
Зря предположили, прекрасно работает. И запрос выглядит понятней в разы.

тем более у вас NOT IN в запросе

Yaroslav
14.08.2018
08:37:05
Предположили, что долго будет и отказались))
Ну-ну. А ведь это самое близкое к READPAST. Кстати, у Вас задача на самом деле какая? Вот это же: > Задача: исключить из текущего селекта записи которые уже апдейтит другая транзакция. Не задача, а просто часть решения... чего?

crux
14.08.2018
08:39:35
многопоточной обработки какой-нибудь очереди наверняка

Alexander
14.08.2018
08:39:48
Приходят разные клиенты за записями и берут их в обработку. Нужно чтобы клиенты гарантированно получали те записи которые никто ещё не взял. И чтоб без блокировок - для ускорения.

crux
14.08.2018
08:40:21
и вы пришли к запросу с NOT IN и конвертацией бигинтов в тексты

Google
crux
14.08.2018
08:40:40
истинно говорю вам, SKIP LOCKED по всем параметрам лучше

Alexander
14.08.2018
08:41:24
Ясно. Будем и этот вариант тестировать!)) Спасибо за советы)

crux
14.08.2018
08:41:35
посмотрите план выполнения своего велосипеда, там seq scan

Yaroslav
14.08.2018
08:42:37
посмотрите план выполнения своего велосипеда, там seq scan
Да этот велосипед "как есть" 100% нерабочий, так что нам чего-то не показали... я надеюсь. ;)

Сагындык
14.08.2018
11:09:07
Добрый день, подскажите, пожалуйста, по кластеризации постгреса. Какие популярные методы на данный момент?

Yaroslav
14.08.2018
11:44:15
Добрый день, подскажите, пожалуйста, по кластеризации постгреса. Какие популярные методы на данный момент?
Sharding, в смысле? Я сам не пользовался, но часто упоминаются Postgres-XL, Citus и PL/Proxy. Ну и вручную можно чего-нибудь нагородить... смотря что именно нужно.

Сагындык
14.08.2018
11:46:38
Ну у меня кейс сделать на двух серверах актив-стенбай, при этом компоненты которые будут принимать подключения и выбирать мастера можно вынести на сервера рядом, возможно там будет кубер. При хорошем раскладе ещё сделать ридонли операции из стенбая, а запись в мастера)

Yaroslav
14.08.2018
11:52:30
Ну у меня кейс сделать на двух серверах актив-стенбай, при этом компоненты которые будут принимать подключения и выбирать мастера можно вынести на сервера рядом, возможно там будет кубер. При хорошем раскладе ещё сделать ридонли операции из стенбая, а запись в мастера)
Так это совсем другое дело, это просто HA, и средств для него куча. > При хорошем раскладе ещё сделать ридонли операции из стенбая, а запись в мастера) Эээ... возможность этого зависит от Ваших требований к ACID и используемого в Ваших приложениях механизма их обеспечения.

Сагындык
14.08.2018
11:53:58
Я в сторону столона смотрел, но ещё не осилил его понять. Вот там судя по всему такие операции идут на реплику)

Yaroslav
14.08.2018
11:56:07
Я в сторону столона смотрел, но ещё не осилил его понять. Вот там судя по всему такие операции идут на реплику)
Он основан на streaming replication, насколько я помню. Т.е., опять-таки: > возможность этого зависит от Ваших требований к ACID и используемого в Ваших приложениях механизма их обеспечения.

Сагындык
14.08.2018
11:58:42
Понял, спасибо, пойду изучать

Morphism
14.08.2018
12:10:06
Hei guys , my boss ask me how fast can Russian Mobile network be? For example, how much time it will take to download a 5M file? Thx

Tolya
14.08.2018
12:10:44
As fast as any other)

Victor
14.08.2018
12:10:57
depends on a region of our country

from several sec to minutes

Oleg
14.08.2018
12:12:59
http://www.speedtest.net/reports/russia/

Morphism
14.08.2018
12:13:09
suppose I am a common Mobile game player

Felix
14.08.2018
12:18:33
in large cities average speed not less than 5 Mbit/s

Morphism
14.08.2018
12:20:15
http://www.speedtest.net/reports/russia/
thx,can this represent your actual experience?

Google
Victor
14.08.2018
12:34:32
I can watch online hd video via mobile internet without any problems

Alexander
14.08.2018
12:36:36
Вот для этого и нужен "FOR UPDATE SKIP LOCKED", а не какие-то (возможно, нерабочие) костыли, как у Вас.
Спасибо crux и Yaroslav. Ваш вариант оказался лучшим. Всё задышало))

crux
14.08.2018
12:40:46
прекрасный тост

Leonid
14.08.2018
13:23:14
Подскажите, с каким коеффициент postgresql сохраняет jsonb (без индексов). 1Кб jsonb записи сколько съест места на hdd?

Sergey
14.08.2018
13:26:23
Подскажите, с каким коеффициент postgresql сохраняет jsonb (без индексов). 1Кб jsonb записи сколько съест места на hdd?
Место выделяется блоками по 8kb (обычно). 1 запись на 1kb съест 8kb места в файле таблицы

Leonid
14.08.2018
13:27:16
Т.е он хранит его как есть, без сжатия или наоборот, доп. расходов?

Условно говоря 8Кб займут ровно 8 или 6 или 12?

Sergey
14.08.2018
13:28:36
Leonid
14.08.2018
13:28:55
12Кб

Запись размеров 8Кб займет на hdd 12кб, 6kb?

Вопрос именно в возможных преобразованиях, который pgsql делает с json

Sergey
14.08.2018
13:32:49
Вопрос именно в возможных преобразованиях, который pgsql делает с json
Вот здесь эти преобразования слегка описаны https://postgrespro.ru/docs/postgrespro/10/datatype-json

Leonid
14.08.2018
13:33:02
Спасибо!

Sergey
14.08.2018
13:33:23
Допрасходы - порядка 24 байт на строку. Для 1кб элемента вроде немного

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