@pgsql

Страница 631 из 1062
Darafei
15.01.2018
07:26:59
а зачем тебе тип circle?

Leonid
15.01.2018
07:27:40
а мне надо хранить некие окружности с карты

в итоге получается, что от москвы до спб 8.4164 чего-то select '(59.938879, 30.315212)'::point <-> '(55.755204, 37.618192)'::point;

Darafei
15.01.2018
07:30:27
если у тебя есть карта, то тебе нужен постгис

Google
Darafei
15.01.2018
07:30:50
а так у тебя получаются расстояния в псевдоградусах

Nikolai
15.01.2018
07:31:06
Земля, увы, не сфера нужна более сложная математика

хотя на расстояниях до пары километров мы упрощали до "сферы"

Leonid
15.01.2018
07:32:15
проблема в том, что мне на проде не получится поставить gis ? потому и пробую без него пока

Darafei
15.01.2018
07:32:24
а почему не получится?

Leonid
15.01.2018
07:32:26
спасибо

не мы управляем тем сервером. какие-то там политики у заказчика

Anton [Mgn, az09@osm]
15.01.2018
07:33:41
пусть заказчик предоставит тестовый сервер, а потом сам уже репу чешет как решение на прод переносить

а так у тебя получаются расстояния в псевдоградусах
вот кстати. все знают про постгис. а возможно ли (в принципе) обойтись без экстеншена этого? ну реализовать пару-тройку функций каких надо на sql и вперед

Darafei
15.01.2018
07:37:12
можно, но в команде должен быть человек, который сможет ответить на вопрос "в типе circle радиус в каких единицах задается"

Anton [Mgn, az09@osm]
15.01.2018
07:38:00
как будто с использованием постгис необходимость в таком человеке отпадает?! ))

Nikolai
15.01.2018
07:38:31
зависит от того что вы хотите

если поиск по радиусу - то возможно (не уверен) можно обойтись функциональным индексом но я с такими штуками не работал, поэтому не смогу сказать точно

Google
Nikolai
15.01.2018
07:39:41
если вычисление расстояний между двумя точками - это просто и реализуется на любом ЯП

Андрей
15.01.2018
08:20:58
https://postgrespro.ru/docs/postgresql/9.6/app-pgrewind
connected to server source and target cluster are on the same timeline

Vadim
15.01.2018
08:28:48
connected to server source and target cluster are on the same timeline
" The old standby needs to be promoted before the old master can be rewound. The act of promoting it will cause the standby to switch to a new timeline" (c)

Андрей
15.01.2018
08:29:27
Ну так старый стэндбай давно уже мастером стал

его пэйсмейкер сразу же промоутил

Vadim
15.01.2018
08:30:32
а старый мастер у вас поднимался?

или он лежит?

Андрей
15.01.2018
08:31:18
пытался, его stonith прибил. сейчас я этот узел вывел из кластера. при попытке руками запустить постгрес, ругается на журналы

Vadim
15.01.2018
08:37:42
можно попробовать скопировать файлы с нового мастера. Но не уверен что эти манипуляции помогут

Андрей
15.01.2018
08:40:44
ну, есть же еще барман. можно оттуда

Vadim
15.01.2018
08:41:21
как вариант. тогда через restore_command

Андрей
15.01.2018
08:41:29
журналы в pg_xlog подсовываем же?

Vadim
15.01.2018
08:41:40
да

Андрей
15.01.2018
08:41:46
которые еще не применелись

не применились.

Vadim
15.01.2018
08:42:35
в recovery.conf укажите команду откуда брать wal с бармана. Там команда есть у него типовая насколько я помню

restore_command = 'sudo -u barman barman get-wal SERVER %f > %p' или restore_command = 'barman-wal-restore -U barman backup SERVER %f %p'

Андрей
15.01.2018
09:30:57
Так, restore_command у меня итак уже такая прописана. схожу на сервера бармана поискать валы..

хм, вал нумерация в папках бармана заканчивается на требуемой журнале - 1

Google
Андрей
15.01.2018
09:59:34
а нужный вал лежит в папке streaming с расширением .partial

его есть смысл пытаться подсунуть?он размером четко 16 метров

Ketzal
15.01.2018
10:06:27
Есть, postgres из него вытащит все законченные записи и накатит

а то что размер четко 16 метров ничего не значит, он аллоцируется при создании сегмента и инициализируется нулями

Evgenii
15.01.2018
12:11:59
Может кто сталкивался с переездом с постгреспро на обычный постгрес через репликацию? Версии одинаковые реплика поднялась. При попытке преконектиться в консоле пишет: psql: ВАЖНО: bogus pg_index tuple Только pg_dumpall переезжать?

Bohdan
15.01.2018
12:21:20
Приветствую А посоветуйте что можно почитать о системах хранения финансовой информации, бо что то в гугле ничего толком найти не могу. Как лучше хранить денежную информацию при условии что будет сохраняться история транзакций - отдельным полем "Сумма" или каждый раз подсчитывать на основе истории работы со счетом?

Nikolai
15.01.2018
12:27:08
Почитайте про план счетов из бухучета

Это - лучшее что есть

Bohdan
15.01.2018
12:34:38
каждая проводка отдельной записью, а сумма как счетчик на триггере обновляется
а как избежать состояния гонки? блокировки? не спасут же по идее так же читал, что лучше делать все не онлайново (по запросу, то есть), а выставляя в очередь для проведения операции как в этом случае избежать гонки?

Антошин
15.01.2018
12:36:26
подскажи плз по утилите pg_rewine, что за зверь и с чем едят)

пробовал воспользоваться, но результата 0-

Bohdan
15.01.2018
12:38:24
А зачем? У Вас проблемы с производительностью ожидаются?
может быть ситуация когда будет проведено две операции параллельно) типа, на балансе 50, и может быть проведены операции -25 и - 45

Denis
15.01.2018
12:41:09
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE и вперёд, зачем об этом думать?
а в этом случае такая транзакция стартанет только после завершения всех текущих?

Sergey
15.01.2018
12:41:22
может быть ситуация когда будет проведено две операции параллельно) типа, на балансе 50, и может быть проведены операции -25 и - 45
можно заблокировать строку с текущим балансом счета через select ... for update, тогда последующие транзакции будут ждать завершения предыдущей, прежде чем выполнится select. Ну или через serializable транзакции

Maksim
15.01.2018
12:42:07
а в этом случае такая транзакция стартанет только после завершения всех текущих?
в этом случае конкурирующая откатится, если обнаружится конфликт

Google
Bohdan
15.01.2018
12:48:21
благодарю всех за подсказки :) А как быть со всеми транзакциями? Стоит их выносить в очередь или же оставлять по запросу?

Bohdan
15.01.2018
12:51:32
Эээ... что?
https://www.slideshare.net/profyclub_ru/404-group вот презентация где читал это

Bohdan
15.01.2018
12:53:17
что значит со всеми? какая очередь? в таблицу их пишите
несомненно история транзакций будет в таблице сами операции (транзакции типа пополнения, перевода, короче изменение баланса) выполнять в порядке очереди или просто онлайн?

Сергей
15.01.2018
12:53:46
онлайн

а зачем вам очередь?

возможно и очередь, но какую задачу вы тогда решаете?

Darafei
15.01.2018
12:54:36
отличаете ли вы финансовую транзакцию от транзакции базы данных?

Bohdan
15.01.2018
12:55:34
вы знакомы с https://www.postgresql.org/docs/10/static/tutorial-transactions.html ?
я неправильно выразился, прошу прощения :) Транзакции в понятии платежной системы, а не базы данных :) Я имею в виду финансовую транзакцию

Сергей
15.01.2018
12:56:19
я неправильно выразился, прошу прощения :) Транзакции в понятии платежной системы, а не базы данных :) Я имею в виду финансовую транзакцию
финансовая транзакция это несколько проводок между счетами. и вот вы эти insert запихиваете в транзакцию в базе данных, и они либо все пройдут, либо ни одна

Alexander
15.01.2018
12:56:45
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE и вперёд, зачем об этом думать?
Имейте ввиду, что в этом случае все транзакции конкурирующие за одни и те же данные должны работать в режиме SERIALIZABLE, иначе, транзакция которая работает в режиме SERIALIZABLE и рассчитывает на гарантии этого уровня, на самом деле не получит этих гарантий, так как конкурирующие транзакции работают с другими уровнями и не соблюдают правил режима SERIALIZABLE.

Bohdan
15.01.2018
12:56:56
Ещё раз: Вы ожидаете проблем с производительностью? Т.е. какая у Вас ожидаемая нагрузка?
та черт знает что может быть) Неохота узнать потом о неприятностях :) В проекте в любом случае очередь есть, а прикрутить сразу ее использование в финансовых транзакциях незатруднит на начальных этапах

Bohdan
15.01.2018
13:00:24
Ещё раз: Вы ожидаете проблем с производительностью? Т.е. какая у Вас ожидаемая нагрузка?
или то о чем говорится касается только действительно серьезных нагрузок, типа, банка какого то? если сравнивать с банком, то у меня точно меньше будет

Yaroslav
15.01.2018
13:01:07
та черт знает что может быть) Неохота узнать потом о неприятностях :) В проекте в любом случае очередь есть, а прикрутить сразу ее использование в финансовых транзакциях незатруднит на начальных этапах
Что _конкретно_ Вы имеете в виду? В некоторых подобных ситуациях, кстати, использование очереди —- это хороший способ избавиться от производительности. ;)

Google
Yaroslav
15.01.2018
13:07:45
конкретно ничего, интересуюсь и подбиваю информацию как же делать, собственно)
Вам уже посоветовали 2 способа. SERIALIZABLE работает всегда, и думать ни о чём не надо, но имеет _потенциально_ меньшую производительность. А вот с SELECT FOR UPDATE думать о корректной реализации придётся (особенно в нетривиальных случаях, при реализации сложных ограничений), но потенциально возможно добиться более высокой производительности. Но чтобы это имело хоть какое-то значение на современном железе (при корректной реализации), нагрузка должна быть довольно высокой.

Denis
15.01.2018
13:15:44
я пролистал слайды, там очереди и асинхронная обработка предлагается при навешивании дополнительный действий на уже выполненные транзакции

то есть транзакции попадают в базу напрямую

Bohdan
15.01.2018
13:32:35
я пролистал слайды, там очереди и асинхронная обработка предлагается при навешивании дополнительный действий на уже выполненные транзакции
та вроде же нет, именно о операциях Важно! Не делайте всю обработку денежных операций “онлайново”. Используйте очереди и асинхронную обработку.

Darafei
15.01.2018
13:34:00
спор о слове "всю"

Lexa
15.01.2018
13:49:15
подскажи плз по утилите pg_rewine, что за зверь и с чем едят)
по логике, pg_rewind нужен для включения старого мастер в качестве stand-by с резервного сервера, без исползования pg_basebackup, но есть ограничения

Сергей
15.01.2018
17:41:49
сегодня поднималась тема как финансовые данные хранить в базе. а у кого-то есть более серьезный материал? для банка/биржи например

книги возможно

tatarin
15.01.2018
17:50:23
Всем, привет. Посоветуйте, пожалуйста, лучшие практики по безопасной настройке OS + Postgres + APPs в БД будет хранится корпоративная тайна и перс данные. Приложение смотрит в интернет.

Nikolai
15.01.2018
19:41:40
По мне так лучшее что есть - БД в защищённую сеть, без доступа в интернет. Все операции с данными через хранимки. Бэкапы - регулярные+бармэна, ротацию подольше

Аппы вебные?

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