@pgsql

Страница 1005 из 1062
Yaroslav
27.09.2018
21:13:11
А, вот это мне вспоминалось, наверное: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=719c84c1be51f3d3fe6049b77ddbaa0c4b58a9a9

Terminator
27.09.2018
21:13:16
@Illuminati_eye будет жить. Поприветствуем!

Konstantin
27.09.2018
21:13:56
Terminator
27.09.2018
21:14:04
@Zolegzz будет жить. Поприветствуем!

Google
Terminator
27.09.2018
23:41:00
@dshubenok будет жить. Поприветствуем!

@ptiforka будет жить. Поприветствуем!

Terminator
28.09.2018
05:42:01
@poctek будет жить. Поприветствуем!

Rostislav
28.09.2018
05:55:23
Всем привет! Столкнулись с интересной проблемой с materialized view в PG. Используем их как кэш чтобы быстро отдавать ответ пользователям. Данные поступают в оперативную таблицу, оттуда делаем запрос, в котором group by и вставляем это дело в materialized view, который раз в 5 секунд обновляем concurrently. По такой схеме у нас строятся две вьюхи: в одной аггрегируем по сумме, во второй берем максимальное значение. До какого-то момента все работает нормально, но потом время обновления вьюхи резко вырастает в три раза. Причем по графику видно, что это происходит с обеими вьюхами в одно и то же время. Сталкивался ли кто-то с подобным поведением и вообще с частым обновлением вьюх? Какая статистика может помочь узнать где проблема? Выбрали такой способ чтобы удобно было делать селекты, но может быть лучше было использовать другую технологию?



Terminator
28.09.2018
06:05:30
Александр будет жить. Поприветствуем!

Eagle Owl
28.09.2018
06:20:27


Ilia
28.09.2018
06:46:40
Только вчера читал. Вроде нет)
Так я знаю, что нет... ?

Google
Ilia
28.09.2018
06:48:12
Только вчера читал. Вроде нет)
Там может накладывается блокировка, которая означает "таблица используется", чтобы DDL , нельзя было с ней делать...

Terminator
28.09.2018
07:57:39
@VadymLypa будет жить. Поприветствуем!

Vastness
28.09.2018
07:59:06


В чем может быть проблема

Службы запущенные



Yaroslav
28.09.2018
08:00:14
А ведь то, про что я рассказывал, написано прямым тесктом в процитированном Вами отрывке... ;) Ситуация, опять-таки, малореальная для типичных INSERT, конечно...

Всем привет! Столкнулись с интересной проблемой с materialized view в PG. Используем их как кэш чтобы быстро отдавать ответ пользователям. Данные поступают в оперативную таблицу, оттуда делаем запрос, в котором group by и вставляем это дело в materialized view, который раз в 5 секунд обновляем concurrently. По такой схеме у нас строятся две вьюхи: в одной аггрегируем по сумме, во второй берем максимальное значение. До какого-то момента все работает нормально, но потом время обновления вьюхи резко вырастает в три раза. Причем по графику видно, что это происходит с обеими вьюхами в одно и то же время. Сталкивался ли кто-то с подобным поведением и вообще с частым обновлением вьюх? Какая статистика может помочь узнать где проблема? Выбрали такой способ чтобы удобно было делать селекты, но может быть лучше было использовать другую технологию?
А ещё какая-нибудь информация есть? Определение view и таблиц, подробны логи при обновлении? Если выполнить на копии кластера, ситуация воспроизводится?

А это ошибка где / что её выдаёт? А ставили из какого дистрибутива?

Terminator
28.09.2018
08:03:29
@semenova_n будет жить. Поприветствуем!

Vastness
28.09.2018
08:04:00
А это ошибка где / что её выдаёт? А ставили из какого дистрибутива?
Ставил отсюда https://www.enterprisedb.com/downloads/postgres-postgresql-downloads После того как все установил, хочу открыть pgAdmin 4

Yaroslav
28.09.2018
08:04:12
Аналогичным образом (если Вы имели в виду Sch-) таблица будет "блокирована" и в PostgreSQL, конечно.

> После того как все установил, хочу открыть pgAdmin 4 Да это его проблема, похоже... Проверьте psql, для начала.

Yaroslav
28.09.2018
08:06:51
Как проверить ? Просто первый раз с ним
В командной строке: psql -U postgres

Vastness
28.09.2018
08:07:53
понял

Google
Yaroslav
28.09.2018
08:10:35
Значит, psql в PATH (ещё?) не добавился. А как там в Windows... может, нужно re-login или перезагрузиться, чтобы изменения в PATH применились? Я не помню... Тем не менее, psql должен быть в том каталоге, куда Вы ставили PostgreSQL, найдите его / перейдите туда и повторите попытку.

Lestat -
28.09.2018
08:12:29
Аналогичным образом (если Вы имели в виду Sch-) таблица будет "блокирована" и в PostgreSQL, конечно.
заблокирована на вставку будет ?? в общем в 500 потоков в 1-у не секционированную таблицу без блокировок можно писать ?

Yaroslav
28.09.2018
08:15:21
заблокирована на вставку будет ?? в общем в 500 потоков в 1-у не секционированную таблицу без блокировок можно писать ?
Так её и в MS SQL не будет, в типичных ситуациях. ;) > в общем в 500 потоков в 1-у не секционированную таблицу без блокировок можно писать ? Можно. Чтобы проверить, какое железо для этого потребуется, нужно рассказать поподробнее (С какой интенсивностью? Какой объём записи / ожидаемый размер таблицы? Какие индексы на ней будут? Какие другие запросы?), а лучше всего, протестировать.

Yaroslav
28.09.2018
08:20:44
Да, значит сервер PostgreSQL работает и проблема вообще не в нём. :) Так что разбираться Вам точно нужно с PgAdmin4 (я им вообще не пользовался, извините).

Lestat -
28.09.2018
08:21:23
Так её и в MS SQL не будет, в типичных ситуациях. ;) > в общем в 500 потоков в 1-у не секционированную таблицу без блокировок можно писать ? Можно. Чтобы проверить, какое железо для этого потребуется, нужно рассказать поподробнее (С какой интенсивностью? Какой объём записи / ожидаемый размер таблицы? Какие индексы на ней будут? Какие другие запросы?), а лучше всего, протестировать.
по mssql прикладывал таблицу совместимости блокировок 1. интенсивность варируется от того сколько людей проходит перед камерой (думатся каждый поток пишет по 10 строк в секунду) 2. по железке Intel(R) Xeon(R) CPU X5670 @ 2.93GHz 6Gb Ram, 90Gb HDD 3. Размер до 100 мб растет и сбрасывается в dwh 4. без индексов 5. Запросов не будет, это "stage слой"

Yaroslav
28.09.2018
08:26:08
по mssql прикладывал таблицу совместимости блокировок 1. интенсивность варируется от того сколько людей проходит перед камерой (думатся каждый поток пишет по 10 строк в секунду) 2. по железке Intel(R) Xeon(R) CPU X5670 @ 2.93GHz 6Gb Ram, 90Gb HDD 3. Размер до 100 мб растет и сбрасывается в dwh 4. без индексов 5. Запросов не будет, это "stage слой"
> по mssql прикладывал таблицу совместимости блокировок Вот здорово... только Вы делаете из неё совершенно неправильный вывод. :) > 1. интенсивность варируется от того сколько людей проходит перед камерой (думатся каждый поток пишет по 10 строк в секунду) Как пишет, подробнее? По одной строке, по много? Какой ширины? Кстати, в связи с нижеуказанным (это "stage слой"), какой у Вас вообще подход к потере данных / насколько она критична? > 3. Размер до 100 мб растет и сбрасывается в dwh А потом, когда вырастет до 100 Мб, всё удаляется?

alex
28.09.2018
08:33:32
народ, кто подскажет по патрони

решил затюнить, но те параментры которые прописываю в конфиге патрони не применяются, в файле postgresql.conf , остаются дефолтные значения

то есть, меняю макс коннектион, на 200, а показывает 100

в файле postgresql.base.conf, макс коннектон раскоментировано

Lestat -
28.09.2018
08:43:40
> по mssql прикладывал таблицу совместимости блокировок Вот здорово... только Вы делаете из неё совершенно неправильный вывод. :) > 1. интенсивность варируется от того сколько людей проходит перед камерой (думатся каждый поток пишет по 10 строк в секунду) Как пишет, подробнее? По одной строке, по много? Какой ширины? Кстати, в связи с нижеуказанным (это "stage слой"), какой у Вас вообще подход к потере данных / насколько она критична? > 3. Размер до 100 мб растет и сбрасывается в dwh А потом, когда вырастет до 100 Мб, всё удаляется?
таблица в моём понимании - файл. Запись в файл есть физическая линейная опеация. Соответственно потоки конкурируют за файл. Пишут в таблицу ручки (RESTful) по 10 строк 10 колонок, одна из колонок одномерный вектор 128-и значенй float(32)[] Подход такой: ручки пишут в схему stg, условно каждый час переливается в схему dwh. перелитые строки удаляются из stg, а затем из dwh строится отчет в схему dm

Yaroslav
28.09.2018
08:48:11
> таблица в моём понимании - файл. А в понимании тех, кто разрабатывает СУБД — нет (концептуально). > Запись в файл есть физическая линейная опеация. Соответственно потоки конкурируют за файл. И, соответственно, это работает совсем не так. > по 10 строк 10 колонок, одна из колонок одномерный вектор 128-и значенй float(32)[] Так у Вас эта таблица уже есть? Тогда можно прямо посмотреть ширину... Вообще, Вы бы лучше на каждый мой вопрос ответили...

Alexey
28.09.2018
08:51:25
есть ли способ узнать через консоль, закончилась ли первоначальная синхронизация таблиц при логической репликации? в логи постгрес пишет по каждой таблице: LOG: logical replication table synchronization worker for subscription "demo", table "users" has started LOG: logical replication table synchronization worker for subscription "demo", table "users" has finished вот бы скриптами тоже узнать можно было (без парсинга логов)

Yaroslav
28.09.2018
08:54:11
не совсем понятен вопрос "какой у Вас вообще подход к потере данных / насколько она критична?"
У Вас будут возникать ситуации (по разным причинам), когда данные с камер могут теряться. Что Вы с этим вообще собираетесь делать? И что делать в том случае, если они всё же потеряны?

Yaroslav
28.09.2018
08:56:00
по какой причине данные будут потеряны?
Вам должно быть виднее. Вы же уже должны были об этом думать, нет? ;)

Google
Lestat -
28.09.2018
08:57:42
Вам должно быть виднее. Вы же уже должны были об этом думать, нет? ;)
реализована автономность и очередь на nuk'e к которому подцеплена камера, в случае даже если бд будет недоступна и/или нюк выдернут из розетки, как только его включат и/или вновь поднимется база - данные из очереди попадут в бд данные не потеряются только если кто-то с3,14159здит наш нюк с камерой))))

небольшая ретроспектива, в чем сабж ?

Yaroslav
28.09.2018
08:59:17
небольшая ретроспектива, в чем сабж ?
А в том, что с этим со стороны БД? Когда она потеряет данные, Вы что собирались делать?

Lestat -
28.09.2018
09:01:03
А в том, что с этим со стороны БД? Когда она потеряет данные, Вы что собирались делать?
по какой из причин данные должны быть утеряны? как дополнил в сообщении выше, пропадут они если только кто-то с3,14159здит наш нюк с камерой =) или нашу серверную затопит ты намекаешь на бэкапы в облако? или я что-то пропустил))

Yaroslav
28.09.2018
09:02:18
> по какой из причин данные должны быть утеряны? Потому что "железо" сервера рано или поздно накроется (ну или исчезнет, как в Вашем примере ;) )?

Lestat -
28.09.2018
09:03:12
т.е. всё-таки облако?)

Yaroslav
28.09.2018
09:05:48
т.е. всё-таки облако?)
Что же мы делали без облаков-то до этого, прямо ума не приложу... ;) Короче говоря, потеря (части) транзакций/данных — это совершенно обычная ситуация, и что с ней делать, нужно заранее решить.

Yaroslav
28.09.2018
09:13:49
потеря части транзакций? как на счет атомарности? в реляционных субд acid модель же, нет?)
Не паясничайте. ;) Причём тут ACID? Вы что, хотите мне сказать, что об аварийных ситуациях со стороны СУБД Вы вообще не думали?

Lestat -
28.09.2018
09:14:55
Не паясничайте. ;) Причём тут ACID? Вы что, хотите мне сказать, что об аварийных ситуациях со стороны СУБД Вы вообще не думали?
уповаем на то что всё будет хорошо ^^ а по правде, в голову пока не приходят аварийные ситуации

Mike Chuguniy
28.09.2018
09:16:46
уповаем на то что всё будет хорошо ^^ а по правде, в голову пока не приходят аварийные ситуации
У вас всё будет хорошо до определённого момента. После этого момента будет всё не просто плохо, а совсем плохо. С базами всегда так, либо думаешь, либо страдаешь безмерно.

Lestat -
28.09.2018
09:18:11
намёкам вашим стараюсь внять я, но сказать прямо время пришло. С чем столкнуться придется юному джедаю ? запугать запугали, а теперь жгите панчлайн ? чую тайные эмпирические знания ☝?

Yaroslav
28.09.2018
09:25:37
уповаем на то что всё будет хорошо ^^ а по правде, в голову пока не приходят аварийные ситуации
Ага, то есть на потерю данных Вам, грубо говоря, наплевать. > а по правде, в голову пока не приходят аварийные ситуации Вы серьёзно? У Вас никогда ничего в Ваших компьютерах не ломалось?! И OS никогда так не падала, чтобы FS "превращалась в тыкву"? И ни одного bug-а в системах хранения Вы не видели? Ладно, идём дальше... Раз Вы "уповаете", рассмотрите возможность "synchronous_commit = off". Но! Это может приводить к потере committed транзакций даже при исправном железе. Но вообще-то я спрашивал не только поэтому... Как Вы собирались предотвращать возможные потери на участке клиент -> сервер? Откуда клиент знает, какие данные ему передавать снова, если сервер упал в неподходящий момент?

Lestat -
28.09.2018
09:29:52
Ага, то есть на потерю данных Вам, грубо говоря, наплевать. > а по правде, в голову пока не приходят аварийные ситуации Вы серьёзно? У Вас никогда ничего в Ваших компьютерах не ломалось?! И OS никогда так не падала, чтобы FS "превращалась в тыкву"? И ни одного bug-а в системах хранения Вы не видели? Ладно, идём дальше... Раз Вы "уповаете", рассмотрите возможность "synchronous_commit = off". Но! Это может приводить к потере committed транзакций даже при исправном железе. Но вообще-то я спрашивал не только поэтому... Как Вы собирались предотвращать возможные потери на участке клиент -> сервер? Откуда клиент знает, какие данные ему передавать снова, если сервер упал в неподходящий момент?
.у меня ничего не падало))) 2 недели отроду девопсю и админю, до этого жил простым дивилопиром на osx ;) .такая себе реклама synchronous_commit'a :D .нет потерь на данном участке, у нас нюк всё пишет в очередь если базы нет, а когда появляется - пишет всё из очереди в базу

S
28.09.2018
09:30:35
@lestvt raid контроллер может сгореть, вместе с дисками

Lestat -
28.09.2018
09:31:41
и вообще весь Питер разбомбят нахер и моей базе кабзец :DD

ощущение что мне хотят облако продать ))))

а может mirroring ?

угадал? писать в два сервера ?

S
28.09.2018
09:33:24
вам предлагают продумать процедуры восстановления заранее

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