@pgsql

Страница 373 из 1062
Fike
23.06.2017
10:43:28
postgres+docker, кто юзает под очередь?
Постгре можно использовать под очередь разве что из мазохизма, и при чем здесь докер?

Fike
23.06.2017
10:45:21
И как это меняет ситуацию?

"кто-нибудь считал квадратный корень внутри виртуальной машины"?

Google
Andrey
23.06.2017
11:11:31
Всем привет. Сталкивался ли кто-нибудь с таким поведением постгри? Было 2 тейблспейса. Потом все таблицы перенесли в один. Но в директории второго тейблспейса все равно остаются файлы. По именам файлов виндо что это от текущей БД, но изнутри по id файлов ничего в этом тейблспейсе не ищется. PG 9.5

Danila
23.06.2017
11:15:11
Постгресаны, как можно отловить, что очень много пишет в базу?

очень много

Артур
23.06.2017
11:15:52
или винт загружен

Danila
23.06.2017
11:16:52




Артур
23.06.2017
11:17:44
В бэкенде логгер не получается включить?

Danila
23.06.2017
11:17:52
не-а

Stas
23.06.2017
11:18:11
1 запрос 1 процесс

потом по pid-у можно понять (чаще всего) что это: юзерский запрос, чекпоинт и тд

Google
Stas
23.06.2017
11:19:26
если пишет bgwriter то надо дальше разбираться

Sergey
23.06.2017
11:28:52
очень много
Мало читает и пишет много на диск? По картинкам складывается впечатление что просто все пришли и давай работать.

Danila
23.06.2017
11:29:44
разобрался, вроде. баг простой, запрос надо убить

Старый
23.06.2017
12:22:27
"кто-нибудь считал квадратный корень внутри виртуальной машины"?
не совсем так, там оч хитрая схема, 4 сервиса постоянно смотрят новые задания, 1 сервис их заливает, и каждый из 4 сервисов может закрыть задачу на своём этапе(если неудачно), или в конце, если удачно

Fike
23.06.2017
12:32:37
Ииии это тоже ничего не меняет. Функциональность от помещения хранилища в контейнер не меняется, постгре не брокер сообщений, хоть при изворотливости на нем и можно реализовать очередь (но не нужно).

Ivan
23.06.2017
12:36:59
А вас не смущает в вашей архитектурной схеме, даже безотносительно постгреса, что листенер - единая точка отказа?
пожалуй нет, поскольку если лежит листенер, значит лежит и приложение, а значит база бесполезна

Ivan
23.06.2017
12:38:18
Haproxy+bgw_replstatus+postgresql
спасибо, изучу

Dmitry
23.06.2017
12:38:33
Т.е. сам по себе листенер упасть не может?

Ivan
23.06.2017
12:39:46
Т.е. сам по себе листенер упасть не может?
вероятность наступления этого события покрывается преимуществами упрощения архитектуры организации переключения между нодами

Аггей
23.06.2017
12:40:07
Вообще говоря pg конечно ни в каком листнере не регистрируется. Скорее в данной постановке весь вопрос - как листнер смотрит в мастер субд... при свитчовере.

А листнеров (приложений) видимо может быть много

Ivan
23.06.2017
12:41:05
как минимум два листенера, между ними VIP

Аггей
23.06.2017
12:42:35
Еще в вашей схеме не предусмотрена обработка запросов в момент свитчовера - он занимает какое-то время...

Dmitry
23.06.2017
12:43:10
Каким-то мощным костылингом попахивает. Сомневаюсь, что будет легко переключатся, когда столько прекрасных возможностей выстрелить в ногу.

Ivan
23.06.2017
12:45:27
философия простая, научить базу публиковать свои ресурсы приложению, вместо того чтобы приложение искало свою базу

Dmitry
23.06.2017
12:45:51
Я вот прямо за конкретный менеджер репликации сказать не могу, но до сих пор всё было с единой точкой отказа.

Google
Ivan
23.06.2017
12:47:13
как я понял постгрес вообще такого из коробки не умеет, поэтому логично что эта задача решается другим ПО

Ivan
23.06.2017
12:48:45
А на чем пишите?
не понял вопроса, но в общем то самописное делать не хочется

Аггей
23.06.2017
12:49:02
Приложение на чем у вас?

Dmitry
23.06.2017
12:49:48
Я бы смотрел на ввашем месте в сторону VRRP, keepalived, zookeeper

Аггей
23.06.2017
12:50:24
Ivan
23.06.2017
12:50:55
Приложение на чем у вас?
сервер держит целую пачку разных приложений, пхп, питон,си

все они должны отрабатывать файловер локально (не умеют в поиск разных баз)

Аггей
23.06.2017
12:51:47
Уже файловер )

Ivan
23.06.2017
12:52:07
да, и свитчовер, само собой

Аггей
23.06.2017
12:55:27
Ну я делал костыль как раз с haproxy... он стоит на сервере приложений, принимает соединения от приложух и проксирует соединения на мастер сервер.... мастера определяет по bgw-replstatus... логика свитчовера - автофайловера реализована repmgr (с witness нодой)... Но я бы очень не рекомендовал автофайловер делать... чтобы не попасть в "split brain"

Аггей
23.06.2017
12:56:58
Когда сделаете автофайловер - проведите простой тест - отключите сеть на мастере и дождитесь переключения.... а потом верните сеть (будет как раз split-brain). Это можно обойти... но очередным костылем

Собственно vrrp (и все реализации типа keepalived, heartbeat и прочего) при правильной настройке и постоянном мониторинге предпочтительнее... но все же не панацея

Ivan
23.06.2017
12:59:21
ну, любопытно попробовать, собрать стенд, погонять разные сценарии

спасибо за советы!

Dmitry
23.06.2017
12:59:51
https://habrahabr.ru/company/etagi/blog/314000/

Вот ещё можете посмотреть

Аггей
23.06.2017
13:00:15
https://habrahabr.ru/company/etagi/blog/314000/
Тут ошибок прилично, но в целом - да так )

Google
Alisa
23.06.2017
14:06:01
имеется pg в digital ocean, хочу сделать переезд на azure с копией всех данных, в какую сторону гуглить, мб есть какой-то внутренний инструмент для этого?

Admin
ERROR: S client not available

Andrey
23.06.2017
20:10:11
Всем привет! Помогите настроить репликацию между мастером и слейвом в докере. Такое ощущение что не на тот ip стучусь. Error: psql: could not connect to server: Connection refused Is the server running on host "192.168.56.102" and accepting TCP/IP connections on port 5432? В инете много инфы по этому поводу. Но не могу разобраться в чем дело. Помогите пожалуйста

Fike
23.06.2017
20:17:19
а у контейнера вправду айпишник 192.168.56.102?

в вакуумно-шарово-умолчанном представлении докер использует для контейнеров айпишники 172.х.х.х, конкретный можно увидеть через docker inspect <container id>

Ascandar
24.06.2017
07:54:33
Не подскажете как на постгресе лучше сделать распределенный кластер, между серверами,находящиеся удаленно друг от друга достаточно больших расстояниях?

Ascandar
24.06.2017
07:56:05
То есть в этом случае другое бд использовать?

Айтуар
24.06.2017
07:57:21
То есть в этом случае другое бд использовать?
вы какую цель преследуете этим кластером?

Ascandar
24.06.2017
07:57:39
Обломал один цод

Айтуар
24.06.2017
07:58:21
Обломал один цод
т.е. просто скопировать данные хотите?

в новое место

Ascandar
24.06.2017
08:02:50
Нет, чтоб база была в нескольких цод, в случае облома одного, все переключились на другой

А не просто копировать

Айтуар
24.06.2017
08:04:19
Ascandar
24.06.2017
08:04:48
Если такой геммор, то проше оракл датагард поставить

Думал что есть более менее

Google
Айтуар
24.06.2017
08:08:05
В postgresql нет пока кластера из коробки, всё что есть костыльно.

Ascandar
24.06.2017
08:11:30
Пора уже запилить

Айтуар
24.06.2017
08:12:24
Пора уже запилить
Это не так просто.

Аггей
24.06.2017
09:27:35
Если такой геммор, то проше оракл датагард поставить
Ну в такой реализации как раз обычная репликация. С Датагард же тоже не так все гладко

Статью выше приводили... Там описана работа repmgr. По-сути настройка автофайловера с использованием witness ноды - очень похожа на оракловый датагард с листнером

Ascandar
24.06.2017
10:35:59
С датагард все ок работает, давно с ним имею дело

Тут минус цена и очень дорого

Попытаюсь заюзать то решение что с repmgr

Sergey
24.06.2017
10:41:58
Всем привет, подскажите пожалуйста Создал инднекс btree по полю createdat Делаю выборку WHERE l.createdat >= '20170601 AND l.createdat <= '20170630' индекс не работает если сделать WHERE l.createdat >= '20170620 AND l.createdat <= '20170630' то работает

Ascandar
24.06.2017
10:42:04
Может норм будет

Vadim
24.06.2017
10:48:59
Всем привет, подскажите пожалуйста Создал инднекс btree по полю createdat Делаю выборку WHERE l.createdat >= '20170601 AND l.createdat <= '20170630' индекс не работает если сделать WHERE l.createdat >= '20170620 AND l.createdat <= '20170630' то работает
у тебя похоже вся таблица 1 месяц. Postgres-у проще сделать seqscan чем читать по индексу. Сделай set enable_seqscan = off; SELECT * FROM my_table WHERE l.createdat >= '20170601 AND l.createdat <= '20170630'; и посмотри какой cost. Он скорее всего будет выше чем при seqscan

Sergey
24.06.2017
10:49:27
да, похоже cost выше

вот он и использует

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