
Subb98
22.07.2017
15:04:33
Чёт я вообще не понял.
Я понял, что нужно повесить индексы.
Но этого не сделать без изменения схемы.

Pavel
22.07.2017
15:05:39
https://www.postgresql.org/docs/9.6/static/ddl-schemas.html я про другие схемы

Google

Сергей
22.07.2017
15:05:57
Меняешь схему, проверяешь, запускаешь тесты, мержишь в мастер
Отчего такая боязнь менять что-то?

Subb98
22.07.2017
15:07:42
Отчего такая боязнь менять что-то?
Ну, я работаю с этим проектом буквально несколько дней. Т.к. у меня очень мало опыта, я боюсь что-то сломать. Поэтому стараюсь искать наиболее безопасные пути решения пока что. И вопросы архитекруты - это точно не мои вопросы сейчас.
Там есть человек, который отвечает за архитектуру, уверен, что он подумал об индексах. Я посмотрю ещё раз схему, конечно. Но я думаю, что просто что-то не так с запросом.

Сергей
22.07.2017
15:14:22
Значит с ним можно все обсудить

Subb98
22.07.2017
15:15:30
Да, верно. Главеное, я теперь увидел, что запрос вообще работает. Он мне говорил про UPDATE FROM SELECT для оптимизации, но в данном случае это не то, чтобы не применимо, но почти. Поэтому ещё погуглю, что можно сделать.
Таки немного оптимизировал запрос (вроде как).
Сейчас скину, что получилось.
UPDATE base_organisation AS bo
SET games_turnover_month = (
SELECT SUM(subq.revenue / subq.count)
FROM (
SELECT * FROM base_game AS bg
JOIN tmp_fk_games_organisations AS fk ON bg.id = fk.game_id
JOIN tmp_orgs_per_game AS opg ON bg.id = opg.game_id
WHERE fk.org_id = bo.id AND bg.monetizations = '{"free2play": 1}'
) AS subq
);

Slach
22.07.2017
16:45:30
всем привет
а отчего в PostgreSQL 9.6 могут появляться лаги в репликации??? лаг замеряю через mamonsu
в какой то момент появился лаг в минуту ... и не проходит собака...
в чем вообще сложности применения WAL файлов на standby сервере? почему оно такое "медленное"?
на диск нагрузка по iotop всего 300-500kb, диски SSDшные...

Dmitry
22.07.2017
19:05:33
он раз в минуту отсылает в zabbix разницу между локальным временем и временем в последнем wal-сегменте пришедшего с другого сервера
так что это так, вилами на воде

Google

Dmitry
22.07.2017
19:07:07
мерять лаг честно в текущем виде в pg нельзя
если важен лаг - програмно выбивайте из раздачи отставшие реплики например при помощи haproxy в tcp режиме с http проверками (ну это если это действительно важно)
хотя не берите в голову
А кто-нибудь использовал old_snapshot_threshold ?
как оно работает, есть подводные камни?

Артур
23.07.2017
05:52:04
Ребят вопрос очень важный
в 6й раз данные сбрасываются
Делаю апдейт поля. Он день работает нормально, потом опять становится null
никаких правок таблицы, кроме как прямым моим запросом не происходит
Такое ощущение, что Postgres по какой-то причине примерно через сутки отказытвает назад имзенения

Dmitry
23.07.2017
06:14:17
включите логирование всех запросов

Артур
23.07.2017
06:15:50
Запроов я 8 штук всего выполнял и они выполнялись успешно..
Postgres вообще может сделать следующее: Выполнить update, сообщить что все нормально, но при обновлении индекса, если памяти не хватило откатить всё назад

Dmitry
23.07.2017
06:17:48
Зачем?
это будет основанием того, что реально никто на логическом уровне не обновляет колонки. а то получается как-то "мамой клянусь"

Артур
23.07.2017
06:19:35
сейчас перепроверю
Вместо "Мамой клянусь" :)
какая бы логика не была, прав на обновление поля нет
для того, чтобы обновление поля делать, я сначала давал разрешение на обновление, а потом делал обновелние, после чего возвращал ограничение
Поэтому я точно знаю что не может через сутки обновиться из-за логкии программы

Google

Алексей
23.07.2017
06:28:45
Владелец БД и таблицы одинаковые?

Артур
23.07.2017
06:28:59
да

Алексей
23.07.2017
06:30:56
А покажт DDL на этого пользователя?

Артур
23.07.2017
06:34:24
не, не нашел как вывести

Darafei
23.07.2017
06:51:21

Артур
23.07.2017
06:51:52
нет ничего такого, что требует прав на update. Бэкап тольког я могу восстанавливать
Вообще все грант права только у меня

Anton [Mgn, az09@osm]
23.07.2017
06:54:55
в качестве бреда - вал лежит в тмп и ежедневно этот самый тмп перемонтируется со стиранием всего и вся

Артур
23.07.2017
07:16:51

Anton [Mgn, az09@osm]
23.07.2017
07:19:53
ща буду говорить еще более непонятно ) потому что сам не разбираюсь ))
где-то ты нагрешил что попал в день сурка... пройдись заново по всей цепочке начиная от создания разделов и инициализации бд

Артур
23.07.2017
07:43:11

Subb98
23.07.2017
07:47:00
Да как раз всё понятно =)
Есть логика, которая выполняется. В определённый момент времени (день сурка) происходит в этой логике сбой.
Нужно найти этот момент и исходя из этого поискать причину.
Ну или как уже написали выше - ещё раз проанализировать всю последовательность действий и попытаться предположить (догадаться), где может быть косяк.
https://www.postgresql.org/docs/9.6/static/monitoring.html - возможно, это поможет?
Сам никогда не использовал.

Anton [Mgn, az09@osm]
23.07.2017
07:54:43
у @Archeebald я помню с английским неоче.
да и сам частенько в https://postgrespro.ru/docs/postgresql/9.6/monitoring.html подглядываю )

Google

Артур
23.07.2017
07:55:42

Admin
ERROR: S client not available

Anton [Mgn, az09@osm]
23.07.2017
07:57:07
ну как помню... только что вылез из поиска по чатику по теме pgbadger
и где-то среди тонн сообщений ты часто мелькаешь ?

Артур
23.07.2017
07:59:18

Victor
23.07.2017
07:59:36
Мб триггер висит на таблице

Subb98
23.07.2017
07:59:41
https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html - вот ещё, на всякий
В postgresql тоже есть.

Anton [Mgn, az09@osm]
23.07.2017
08:00:23
Мб триггер висит на таблице
не помню (на самом деле не знаю) имеет ли триггер доступ ко всей таблице? или только к изменяемым в сей момент записям? если второе то триггеры имхо можно вычеркнуть

Артур
23.07.2017
08:04:32

Алексей
23.07.2017
08:48:00
Внешние ключи по "этому" полю есть?

Igor
23.07.2017
08:48:50
@pasha_golub

Артур
23.07.2017
08:49:00
есть

Pavel
23.07.2017
08:49:36

Igor
23.07.2017
08:50:19

Артур
23.07.2017
09:07:02

Igor
23.07.2017
09:07:14

Google

Anton [Mgn, az09@osm]
23.07.2017
10:38:54
не получается найти как (ещё) узнать какие экстеншоны уже установлены
select * from pg_available_extensions where installed_version is not null; явно меньше ожидаемого выдаёт
хелп плиз

Артур
23.07.2017
10:40:41

Anton [Mgn, az09@osm]
23.07.2017
10:40:54
$ psql -c "CREATE EXTENSION hstore; CREATE EXTENSION postgis;" -d imposm
CREATE EXTENSION

Артур
23.07.2017
10:41:58
А если так? SELECT * FROM pg_extension
В доке так сказано
но тут особенность !

Anton [Mgn, az09@osm]
23.07.2017
10:44:49
хм, кажется понял. сразу по всем базам не показывает. вернее куда там юзер postgres по дефолту цепляется

Артур
23.07.2017
10:45:07