
Viktor
30.05.2017
14:57:33
В том то и проблема

Andrey
30.05.2017
14:57:36
Я подумал 2 в конце это опечатка.

Viktor
30.05.2017
14:57:49
Если бы...

Andrey
30.05.2017
14:57:59
Тогда я сути не понял.

Google

Andrey
30.05.2017
14:58:16
Что за приоритет?

Viktor
30.05.2017
14:59:20
Ну самый высокий это 1 дальше - ниже т.е нужно так отсортировать чтобы вверху оказались все записи у которых приоритет выше
И при этом чтобы было отсортировано и по первому столбцу
Приоритет это просто название столбца в моем случае
2 2 оказалось внизу потому что у 2 в первом столбце нет 1 во втором, т.е приоритет ниже остальных

Aleksey
30.05.2017
15:03:16
тогда 3 2 в самом низу должно быть, после 2 2, разве нет?

Viktor
30.05.2017
15:05:27
Нет у 3 есть 1, а у 2 нет
Т.е приоритет 2 ниже и должно быть ниже записи с 3 в первом столбце

Aleksey
30.05.2017
15:07:21
а, то есть тут группировки такие, понял
вот так это понятней воспринять)

Viktor
30.05.2017
15:10:07
Да ?

Sergey
30.05.2017
15:12:05

Google

Guardian
30.05.2017
15:15:32
Если это все из оракла делать теми запросами, которые показывает EXPLAIN — повторяется?
В транзакции с соответствующим isolation level?

Sergey
30.05.2017
15:22:11

Guardian
30.05.2017
15:24:19
Это, наверное, так, но ты же просишь помощи в локализации проблемы. Вопрос имеет очевидную цель — понять, где надо разбираться — в стороне постгреса или в стороне оракла.
Если ты дотрейсил проблему до функции с тремя запросами, которая выполняется в единственной транзакции, очевидно, что не составит большого труда выяснить ответ.

Dmitriy
30.05.2017
16:43:41
Если это ещё вообще нужно)

Dmitry
30.05.2017
16:55:29
а какие подводные камни ожидают при 'REVOKE ALL ON SCHEMA public FROM public' ?
кто-нибудь на них спотыкался?

Петр
30.05.2017
17:00:10
паблик потеряет привилегии create и usage на схему?
не спотыкался, но предполагаю, что подводных камней там и нет
мы обычно у паблик-схемы не отбираем, на то он и паблик)

Viktor
30.05.2017
17:51:53

Boris
30.05.2017
17:53:53
Всем привет.Нужен совет. Используется между серверами потоковая репликация. Образуется лаг периодически.Причину выявить не получается. По активности видно, что валы накатывается раз в 10 минут и в этот момент есть утилизация по диску на слейве. Вопрос: какими параметрами в postgres можно размазать нагрузку? Т.е чтоб валы накатывались чаще и меньшими порциями, например.

Philip
30.05.2017
18:44:19
Если по задачке актуально, то :
with cte as (
select * from (
values
(1 ,1)
,(1 , 2)
,(1 , 2)
,(2 , 2)
,(3 , 2)
,(3 ,1)
) t(one ,two)
)
select
z.one, z.two--, m.min_two
from cte z
cross join lateral(select two min_two from cte where one = z.one order by two limit 1) m
order by m.min_two, z.one, z.two
каким-то зданием при устройстве на работу отдает...

Anatoliy
30.05.2017
19:02:30
А как-то можно узнать, когда в последний раз изменялась таблица, если полей дат в ней нет?

Sergey
30.05.2017
19:21:02

Anatoliy
30.05.2017
19:22:41
Я хочу мониторинг навесить на нагиос. Можно смотреть на данные по работе автовакуума в pg_stat_all_tables?
Мне не надо точно, хочу проверять, что таблица менялась менее чем час назад, например.
Или last_autoanalyze, он же не будет менятся, если таблица не меняется?

Sergey
30.05.2017
19:31:35
а много вообще запросов идет к этой таблице?

Google

Sergey
30.05.2017
19:31:37
в сутки

Anatoliy
30.05.2017
19:34:16
нет, я сделал на last_analyze, ибо таблица меняется в одном месте и после заполнения выполняется analyze
раз в 6 минут меняется
SELECT
last_analyze > NOW() - '15 minutes'::interval AS updated
FROM pg_stat_all_tables
WHERE schemaname = 'schema'
GROUP BY last_analyze > NOW() - '15 minutes'::interval;
У нас есть отдельная схема с агрегированными данными, захотелось проверять, что обновляются.
может кому еще пригодится.
лайфхак
(нагиос настроен на количество строк – если 2 critical, 1 - ok. Если что-то не обновится в схеме, крякнет

Viktor
30.05.2017
20:32:34
каким-то зданием при устройстве на работу отдает...
Не.. реальная задача, формируется отчет и данные так нужно сортировать, обычно достаточно было простых сортировок, но, наверное для собеседования задача была бы не плохой ? интересный вариант, вначале так и думал через кросс джойн реализовать, но до конца не додумал ?

Fedor
31.05.2017
02:21:32

Dmitry
31.05.2017
07:51:37
Использовать слоты ?
Слоты гарантируют, что требуемые реплике логи не потрутся. Как они помогут размазать нагрузку?

Boris
31.05.2017
08:07:46

Dmitry
31.05.2017
08:13:43
Количество валов вырастает в момент лага? Стендбай открыт для чтения? Есть долгие запросы на стендбае?

Boris
31.05.2017
08:17:34

Dmitry
31.05.2017
08:22:08
Лаг может быть по следующим причинам:
- высокая активность на мастере, изменения не успевают применяться
- долгие запросы на реплике лочат данные - накат останавливается пока блокировку не отпустит, т.к. репликация физическая, должен быть последовательный накат изменений
- проблемы с сетью (обычно самый маловероятный случай и самый заметный)
Если честно, то очень похоже на второй вариант. Ловите лаг и смотрите блокировки на слейве

Игорь
31.05.2017
09:39:46

Alexander
31.05.2017
09:57:19
это как же сеть должно колбасить

Sergey
31.05.2017
10:14:32
Странное исполнение MVCC и serializable level

Google

Dmitriy
31.05.2017
10:39:00
Вместо stp включайте rstp. И про edge-port не забывайте в сторону клиентов, иначе любой флап будет приюводить к перестроению

Alex
31.05.2017
11:04:17
Привет, группа! Тут появился вопрос, как мне из jsonb формата { "id1": { "a": 1, "b":2}, "id2":{"a":3, "b":4}} перевести к формату: {"id1":1, "id2":3} ? Как я понял нельзя пробегался по ключам в jsonb, получается нужно презентацию функции хранимки делать?

Admin
ERROR: S client not available

Igor
31.05.2017
11:05:06
почему нельзя пробегаться по ключам?

Alex
31.05.2017
11:07:23
В каждой строке таблицы такой объект и не получается построить селект который бы пробегал по ключам.

Alex
31.05.2017
11:07:43
не очень понятно что хочешь сделать

Alex
31.05.2017
11:10:27
Из одного jsonb другой jsonb, с сохранением ключей, но изменить велью.
И так для каждой строки таблицы...

Ascandar
31.05.2017
15:30:10
а кто с постгрес астрой работал?
когда создаешь юзера - проблема при входе через psql -U dbuser
ругается на мандат

Anton
31.05.2017
15:30:42
1,5 9,4

Ascandar
31.05.2017
15:31:14
Astra Linux Смоленск 1.5, постгри с поставки 9.4

Anton
31.05.2017
15:31:18
usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb

Ascandar
31.05.2017
15:31:38
эт да, а если хочу другого юзера?
созда dbuser, создавать юзера на ОС?

Anton
31.05.2017
15:31:57
это для постгреса, чтобы он мог читать метки
usermac -c 0:0 пользователь

Ascandar
31.05.2017
15:32:18
постгрес может норм входит, а вот юзер нет

Google

Ascandar
31.05.2017
15:33:00
хм, я попробовал сделать вот это pdpl-user -z dbuser
и у меня зашло, хоть не совсем понял что там произошло

Anton
31.05.2017
15:36:06
Я не пользовался pdpl-user. В ос добавлял обычно пользователя и на БД через SQL

Петр
31.05.2017
15:37:32
в Смоленске пересоздавать партицию не пробовали?
у меня почему то при пересоздании смещался первый сектор

Anton
31.05.2017
15:38:47
нет. Живёт в виртуалке для тестирования php и БД части

Петр
31.05.2017
15:39:55
попробуйте расширить партицию (через удаление/создание партиции)

Артур
01.06.2017
06:44:37
Всем привет. Смотрю я на большую кашу из 1292 процедур в public (куда примешаны не только postgis, но и частные процедуры) и в очередной раз думаю о том, чтобы частные процедуры вынести в другую схему.
Кто как к этому относится?

Петр
01.06.2017
06:48:33
выносите конечно
а так, я мечтаю о пакетах...

Артур
01.06.2017
06:48:38
Мои аргументы "за" и "против"
—-
за) Легче видеть и навигироваться в (datatable) что написано для базы
прротив) Я понимаю что теперь не получится в рамках схемы писать: "fserchaddress()", придется писать типа address.fsearch();

Alex
01.06.2017
06:49:26
Хорошая практика в паблик ничего не хранить