@pgsql

Страница 963 из 1062
G7
02.09.2018
10:17:56
Думаю, не здесь
Понял спасибо!

Boris
02.09.2018
10:29:21
всем привет, подскажиет пожалуйста, может кто сталкивался с подобным явлением. Ночью по крону останавливается основная база, копируюется вся директория, запускается основная , и так же стартует вторая базы в докере с копированной директорией первой базы. Так вот вопрос во в чем, база не стартует, а в логах получаю: ```2018-09-02 03:32:47 GMTFATAL: could not access status of transaction 1853419355 2018-09-02 03:32:47 GMTDETAIL: Could not read from file "pg_clog/06E7" at offset 139264: Success.``` Т.е насколько понял, файл pg_clog/06E7 бьётся? Если я еще раз руками его доперенесу с основной базы во вторую, то контейнер запустится... Почему такое может происходить? С другой стороны, если б файл бился при остановке основной базы, то и основная бы потом не стартовала?

Yaroslav
02.09.2018
10:49:38
> копируюется вся директория, запускается основная , и так же стартует вторая базы в докере с копированной директорией первой базы. Действительно криво копируется, похоже (Вы бы попробовали как-нибудь сравнить pg_clog сразу после копирования).

Google
Yaroslav
02.09.2018
10:58:42
> контрольная сумма директорий равная В какой момент? И каких именно? Точно копирование начинается после завершения остановки PostgreSQL?

Terminator
02.09.2018
12:03:31
@Talgat_Saribayev будет жить. Поприветствуем!

Talgat
02.09.2018
12:32:26
Добрый день всем. Я новичок в db, и нужна помощ/совет в одной проблеме. Я не заметил правил в группе, и я надеюсь не нарушаю негласных правил. Суть проблемы: есть приложение записи к доктору. Скажем все доктора работают с 9:00 до 18:00 в будни. Но что делать с праздниками, отпусками, короткими днями и т.д.? Как составить такой календарь? На данный момент я создал две таблицы: default_schedules и exception_schedules. И в exception_schedules идут дни в которых доктор работает не по стандарту. Но не уверен правильно ли. P.S. гуглил и писал стаковерфлоу, пока ничего годного.

Darafei
02.09.2018
12:34:19
календарь праздников списком, других особо вариантов нет

хотя, если это запись к доктору: у тебя ведь не на любое время в будущее запись. просто добавлять каждый день день через месяц в список свободных слотов.

Talgat
02.09.2018
12:40:41
Спасибо

MikaelBox
02.09.2018
12:59:25
Любой календарь делается просто: сохраняем праздничные и предпраздничные дни, а так же перенесённые какой день куда. Этого достаточно

Yukari
02.09.2018
15:39:20
Любой календарь делается просто: сохраняем праздничные и предпраздничные дни, а так же перенесённые какой день куда. Этого достаточно
Генерить лучше в отдельную таблицу. Такой календарь можно обвесить финансовыми периодами, и кучей метаданных, и впоследствии получить универсальный календарь на все случаи жизни.

Eugeny
02.09.2018
15:47:34
люди, подскажите, как быть. есть сферический запрос select *, unnest(array(select col form t2)) from t1 если в t2 пусто, то из t1 тоже ничего не вытащится. Как сделать аналог left join для unnest ?

Darafei
02.09.2018
16:13:29
Unnest нужно во from писать

Akylai
02.09.2018
16:42:09
Добрый вечер можете объяснить новечку . Зачем использовать массивы в постгресс

То есть это же и так таблица . Зачем внутри столбцов создавать двумерные массивы. Где это используется?

Fike
02.09.2018
16:43:52
Когда у модели данных есть атрибут в виде массива. Например, список ролей у пользователя приложения. Да, это денормализация.

Google
MikaelBox
02.09.2018
17:28:15
Генерить лучше в отдельную таблицу. Такой календарь можно обвесить финансовыми периодами, и кучей метаданных, и впоследствии получить универсальный календарь на все случаи жизни.
ну так я 2 таблицы называл. В одной праздничные и сокращенные, во второй перенесенные. Зачем хранить промежуточные данные? Их всегда можно получить.

Aleksandr
02.09.2018
17:43:50
дальше выбираете след. 7 дней недели и смотрите есть ли праздничный день или просто выходные или перенесенный день

MikaelBox
02.09.2018
17:44:36
весь год? %)

Aleksandr
02.09.2018
17:45:31
почему бы и нет ?

365 записей ниочем

MikaelBox
02.09.2018
17:45:50
365 записей говнокода ))

если хотите так базы строить - пожалуйста, но мы как-то по другому лучше будем

Aleksandr
02.09.2018
17:47:01
я ж не говорю что это так делать нужно, так пришла идея

поделился, а дальше вам решать делать так или нет

Darafei
02.09.2018
17:47:28
а почему важно, на какое число перенос?

MikaelBox
02.09.2018
17:47:42
да я уже написал решение, которое уже работает много лет

а почему важно, на какое число перенос?
вы производственный календарь видели?

без перенесенных дней вы календарь не получите

Darafei
02.09.2018
17:49:29
я не понимаю, чем перенос отличается от принудительного выходного + принудительного рабочего дня

MikaelBox
02.09.2018
17:50:07
а я не догоняю что вы имеете в виду

Dmitry
02.09.2018
18:37:52
Terminator
02.09.2018
18:51:40
Оксана Толмачева будет жить. Поприветствуем!

Google
Eugeny
03.09.2018
05:40:59
Богдан
03.09.2018
07:07:49
with cte as ( select ip, user_id, row_number() over(partition by ip) rn from posts ) select distinct ip, user_id from cte where rn > 1 order by 1
сенкс, но этот запрос не работает как надо, потому что надо вывести ip у которых несколько авторов, но например если в ip только один автор имеет несколько постов, тоже выведется он

https://www.db-fiddle.com/f/senbAj85A1XHJ135zP9CNi/3

Антон
03.09.2018
07:14:16
postgresql поддерживает полнотекстовый поиск на русском с алгоритмом Левенштейна?

пишут что только латиница

Ilia
03.09.2018
07:15:29
postgresql поддерживает полнотекстовый поиск на русском с алгоритмом Левенштейна?
Сильно сомневаюсь, это плохой по производительности алгоритм.

Антон
03.09.2018
07:15:43
а что можно взять для поиска с ошибками?

Ilia
03.09.2018
07:16:25
Сильно сомневаюсь, это плохой по производительности алгоритм.
Он зависит от ключа поиска и MxN от двух длин слов

а что можно взять для поиска с ошибками?
Ничего, исправь ошибки в словах ключа, и ищи

Alexey
03.09.2018
07:17:46
pg_trgm?

Ilia
03.09.2018
07:18:06
а что можно взять для поиска с ошибками?
Не исправились ошибки в ключе - посылай нах , все равно искать бесполезно

Yaroslav
03.09.2018
07:18:12
сенкс, реально работает, спасибо
А чем Вам Ваш изначальный не нравится? Можно его и немного короче записать: https://www.db-fiddle.com/f/5geJ3AzxorVNmBGSzzsUFk/2

Ilia
03.09.2018
07:18:37
а что можно взять для поиска с ошибками?
Ну и да, ошибки в данных такое надо заранее исправить

Антон
03.09.2018
07:18:41
отличный подход отсеивать клиентов

ошибки не в данных, а в запросе

Ilia
03.09.2018
07:18:55
почему это?
Потому что ничего не найдешь

Антон
03.09.2018
07:19:10
Потому что ничего не найдешь
эластиксерч нормально все находил

Пагода вместо погода

Google
Ilia
03.09.2018
07:19:43
отличный подход отсеивать клиентов
Я считаю, что если клиент козел, его полезно отсеить

Антон
03.09.2018
07:20:02
Ilia
03.09.2018
07:20:07
Пагода вместо погода
Тут нет ошибки

Антон
03.09.2018
07:20:26
Тут нет ошибки
окей, ошипка, вместо ошибка

Антон
03.09.2018
07:20:47
pg_trgm?
посмотрю, спасибо

Ilia
03.09.2018
07:21:00
окей, ошипка, вместо ошибка
Это ты исправишь по словарю.

Антон
03.09.2018
07:21:21
Ilia
03.09.2018
07:23:57
по какому словарю?
Русского языка, или другого языка

Антон
03.09.2018
07:24:29
Русского языка, или другого языка
короче ничего не понял. забей )

Богдан
03.09.2018
07:24:44
А чем Вам Ваш изначальный не нравится? Можно его и немного короче записать: https://www.db-fiddle.com/f/5geJ3AzxorVNmBGSzzsUFk/2
хотя внимательней почитал задачу, и там нужно вывести список ip и список user_id, типа что бы ip были уникальны и user_id тоже

наверное такое нужно уже решать на стороне бека

Ilia
03.09.2018
07:29:05
Богдан
03.09.2018
07:29:41
неа, там как бы должно получиться два несвязанных массива, один с айпишниками уникальными, другой уже с авторами

Ilia
03.09.2018
07:30:06
По крайней мере, это уже два запроса (если решать на SQL).
Ну, можно и одним, конечно, но дебильным.

Богдан
03.09.2018
07:30:37
как бы тот запрос что Вы подсказали все верно выводит, но его результат нужно дальше трансформировать

Terminator
03.09.2018
08:17:05
@miolini будет жить. Поприветствуем!

Google
mio
03.09.2018
08:18:48
Всем привет! Кто-нибудь знает fuse фс, которая прозрачно позволяет сделать реплику раздела на другой машине в фоне с доступом на чтение/запись во время синхронизации? Нужно для создания реплики большой базы postgres 9.5 в другом ДЦ.

mio
03.09.2018
08:22:04
pg_basebackup заканчивается позже того времени, когда первый сегмент уже удален на мастере

в 9.5 еще нет replication slot

Artem
03.09.2018
08:23:50
mio
03.09.2018
08:29:07
@SvPupok я про pg_create_physical_replication_slot

но я перепроверю )

Yaroslav
03.09.2018
08:31:06
но я перепроверю )
Так есть же, вроде бы: https://www.postgresql.org/docs/9.5/static/functions-admin.html

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