
Stas
13.09.2017
14:31:47
так может обработали ошибку сами и передоподключаются
я так понял)

Ilya
13.09.2017
14:32:03
ну так обмажся похапе покажи код
перескок на другой сервер это комплексная задачка

Google

Ilya
13.09.2017
14:32:39
либо ее pgpool решает либо pgbouncer

Stas
13.09.2017
14:32:53
либо клиент :)
но обычно плохо

Ilya
13.09.2017
14:32:58
если руками в коде - код должен ловить

Tanu
13.09.2017
14:32:59
в доке описана функция pg_connect, я так понимаю?

Ilya
13.09.2017
14:33:37
если нет этого кода....

Stas
13.09.2017
14:33:43
недавно наткнулся, что aiopg криво обрабатывает таймауты и ивентлуп блокирует: https://github.com/aio-libs/aiopg/issues/375

Tanu
13.09.2017
14:33:49
Между приложением и слейвом нет пгбаунсера и иже с ними
Все напрямую

Ilya
13.09.2017
14:34:14
ну так как ты ловишь смерть коннекта?

Stas
13.09.2017
14:34:28

Tanu
13.09.2017
14:35:19
код на php

Google

Ilya
13.09.2017
14:36:07
а ты ловишь смерть коннекта при любом обращении к бд?
или только на коннект?
вот делаешь ты селект. ебнулась база. драйфер pg выдаст соответсвтующий код ошибки. ты это ловишь?
обертка над пдо есть для fallback?
тоже при любых действиях с бд. этот слой кода написан?

Tanu
13.09.2017
14:45:54

Ilya
13.09.2017
14:47:30
Код надо видеть.

Артур
14.09.2017
00:24:57
Как выполнить команду insert into my_schema.my_table ...
выходит ошибка schema "schema" does not exist

Denis
14.09.2017
00:51:17

Артур
14.09.2017
00:51:42
Вот такая ошибка прилетает

Denis
14.09.2017
00:52:20
А в запросе вообще слово schema фигурирует?

Артур
14.09.2017
00:52:31

Denis
14.09.2017
00:53:02
А триггеров нет?

Артур
14.09.2017
00:53:52
нет
1 минуту проверю еще один ариант
да, на нижнее подчеркивание реагирует неадекватно
переименовал схему в myschema
всё норм
х.з. чё за фигня, но получается именовать схемы лучше без нижнего подчеркивания
CREATE SCHEMA my_example;
-- meta tables for schema and table name
CREATE TABLE my_example.schma(schma_id int, schma text);
INSERT INTO my_example.schma VALUES (1, 'x');
не понимаю. Этот, вариант например работает.
буду думать что в логике бэкенда где-то ошибка что запрос как-то не так воспринимается
Выяснил. Оказалась ошибка в PK. Там serial поле. И при периемновании схемы не переименовался дефолт

Google

Артур
14.09.2017
01:08:35
nextval('myschema.main_id_seq'::text::regclass) так и осталась.

Berta
14.09.2017
05:39:20
Самый большой канал, где бесплатно сливают платный качественный контент и курсы.
Подписаться — https://t.me/joinchat/AAAAAEAsb3J_7HFOYPZfwA

Николай
14.09.2017
05:43:58
Всем привет, может быть кто что посоветует. Ситуация такая. Каждый день в таблицу добавляется 200 тысяч записей, данные о продуктах, имеют различные параметры, в том числе цену и дату добавления. Я хочу знать среднюю цену за каждый день с учетом каких-либо параметров. Примерный запрос SELECT date, AVG(price) FROM products WHERE someparam > 5 GROUP BY date ORDER BY date ASC Я хочу хранить данные за период полгода, а это 30*6*200 000 = 36 миллионов записей. В ввиду такого количества запрос выполняется довольно долго. Есть ли какие-то способы ускорить этот запрос? Может вообще стоит вместо postgresql выбрать что-то другое? Любым советам и критике буду рад.

Igor
14.09.2017
05:45:20
OLAP какой-нибудь типа кликхауса
или хранить результаты агрегации по кускам. закончился день - положили среднюю цену в отдельную табличку. потом удобно считаем по 180 строчкам всего
или столбцовое хранилище, забыл как называется, cstore_fdw вроде
зависит от того, какие еще запросы будут

Николай
14.09.2017
05:49:26
Запрос только средняя цена за день с определенными параметрами
Параметры - 2 целочисленных и 5-7 булевых
1 Geometry

Denis
14.09.2017
06:17:42
а стандартный совет шардировать большую таблицу по дням? будете считать среднее на таблице в 200к за день

Николай
14.09.2017
06:49:36

Аггей
14.09.2017
06:52:03


Igor
14.09.2017
06:54:03
ну кстати даже от партицирования выигрыш будет, если один запрос одно ядро жрет

Николай
14.09.2017
06:54:30

Аггей
14.09.2017
06:56:32
SELECT date, AVG(price) FROM products WHERE someparam > 5 GROUP BY date ORDER BY date ASC
В вашем случае явная зависимость от даты. Думаю секционирование по дате должно помочь - так как на каждой секции будет свой маленький индекс... и при группировке будет просматриваться 1 секция за каждый день...
Так же плюсом будет ускоренная вставка...

Sergey
14.09.2017
06:57:58
и еще можно секции разнести по разным дискам. Это здорово ускорит подъем данных в память.

Николай
14.09.2017
07:06:24
Спасибо за советы. Пока мне кажется вариант с OLAP проще. Типа поставил, внес данные и всё быстро работает. Или не всё так просто с ним?

Google

Аггей
14.09.2017
07:11:17

Николай
14.09.2017
07:13:00

Alexandr
14.09.2017
07:14:11
В кх нативное парционирование по датам. Так что вашу проблему он решит

Аггей
14.09.2017
07:14:44

Alexandr
14.09.2017
07:15:50
Но он append only, без апдейтов, поэтому решайте сами, сможете ли так жить

Николай
14.09.2017
07:16:53
Апдейты не нужны

Alexandr
14.09.2017
07:18:49
Пентахо первоначальную таблицу не изменяет, если я не ошибаюсь
Но строит над ней материализованные вьюхи
Поправьте, если не прав

Alex
14.09.2017
07:30:30
пентахо будет медленней

Аггей
14.09.2017
07:30:59

Alex
14.09.2017
07:31:17
там же ROLAP внутрях же, что не добавляет ему скорости

Null
14.09.2017
15:09:56
Это правда, что pgsql умеет в репликацию мастер-мастер, а мускуль - нет?

Ilya
14.09.2017
15:11:57
Мускуль для аутистов не осиливших посгрю.

Fike
14.09.2017
15:12:07
никто из них не умеет и, скорее всего, и не будет

Null
14.09.2017
15:12:28

Fike
14.09.2017
15:12:36
если вы работаете с sql и вам нужен acid, то мастер-мастер вам на самом деле не нужен
в невозможности атомарной синхронизации распределенной системы?

Vladimir
14.09.2017
15:13:03
у mysql galera есть, если сильно master-master нужен

Null
14.09.2017
15:14:42
Благодарю!

Google

Mike Chuguniy
14.09.2017
15:15:33

Null
14.09.2017
15:16:54
Вроде бы первоначальная настройка мускуля проще. Но всегда можно взять образ с докерхаб. Там он с хорошим скриптом идёт.

Tenni
14.09.2017
15:17:42
чем проще-то? одно и тоже

Mike Chuguniy
14.09.2017
15:18:22
Первоначальная настройка мыскля годится только под БД для интернет-странички о том, какой у мамы замечательный ребёнок - владелец этой странички. Чуть больше - начинается кино. Бесплатный цЫрк, ну и вот это фсйо.

Tenni
14.09.2017
15:19:08

Null
14.09.2017
15:19:19
Не нужно трогать никакой pg_hba.conf.