@pgsql

Страница 1004 из 1062
Yaroslav
27.09.2018
09:54:01
Подскажите, а это нормальная ситуация, когда pg_basebackup не скопировал файл pg_control? Бэкап снимал со стендбая.
По идее, нет, не нормальная... Никаких ошибок pg_basebackup не выдавал? А какая версия PostgreSQL?

Andrey
27.09.2018
09:58:52
Я уже запустил процесс заново. Так как по-видимому, нет способа нормально синкнуть данные.

Yaroslav
27.09.2018
09:59:52
Не выдавал. 9.5.13.
Может быть, на том standby, с которого снимали, что-то есть в логах?

Google
Demuz
27.09.2018
10:16:33




получается запись в pg_hba.conf есть, но написано что нет.

Sergey
27.09.2018
10:20:01
Рестарт?

Demuz
27.09.2018
10:24:30
Рестарт?
не перезапускает. крашится и в логах вон то пишет.



разве последнее правило в hba не должно меня "пропустить"?

Sergey
27.09.2018
10:27:38
Demuz
27.09.2018
10:28:31
Не из-за этого.

Почему-то через pcs resource restart pgsql нормальный перезапуск был и все заработало. А через service restart не работало.

Sergey
27.09.2018
10:29:20
А ну ок

Demuz
27.09.2018
10:30:20
По ходу если pcs resource стоит, то он запрещает делать перезапуск через обычный сервис. Нифига себе. Я час не догонял тоже.

Google
Demuz
27.09.2018
10:47:39


Я выключил мастер и слейв сейчас в режиме чтения работает.

Vladimir
27.09.2018
11:25:23
https://habr.com/company/etagi/blog/314000/

может тут поможет. сам не работал с ним

И•л•ь•д•а•р ☕
27.09.2018
11:55:44
подскажите, есть интервал к примеру "1 day 5 hour..." как его приобразовать, чтобы вывести колличество часов 29, если date_part('hour' ,my_interval ) он выдасть 5, а мне нужно всё что больше часов чтобы он преобразовал в часы...

Vladimir
27.09.2018
12:31:11
спс, уже сам нашёл как...
Написал бы тогда решение)

Vladimir
27.09.2018
12:40:13
extract(epoch from interval '1 day 5 hour')/3600

Lestat -
27.09.2018
15:18:50
друзья, нужно секционировать таблицу добавив соответственно 500 секций писать 500 раз create table не хочется решение динамический sql ? p.s. есть вдруг пример может у кого ?)

Lestat -
27.09.2018
15:20:04
неименованный блок DO
можно чуть больше подсказок?) неделю на постгрес

Mike Chuguniy
27.09.2018
15:20:25
https://postgrespro.ru/docs/postgresql/10/sql-do

Lestat -
27.09.2018
15:20:53
Yaroslav
27.09.2018
15:24:57
друзья, нужно секционировать таблицу добавив соответственно 500 секций писать 500 раз create table не хочется решение динамический sql ? p.s. есть вдруг пример может у кого ?)
Учитывая: > можно чуть больше подсказок?) неделю на постгре Вот это: > друзья, нужно секционировать таблицу добавив соответственно 500 секций Вам почти наверняка не нужно.

Lestat -
27.09.2018
15:26:29
500 это дискретное число

Mike Chuguniy
27.09.2018
15:26:48
Ярослав, ну пусть человек помучается. Глядишь, в следующий раз думать будет.

@lestvt сколько записей в таблице? Начнём с этого.

Mike Chuguniy
27.09.2018
15:27:35
Или, почему вы решили, что вам надо разбивать таблицу на части?

Google
Lestat -
27.09.2018
15:28:29
есть 500 видеокамер по городу, каждая в асинхронном режиме через API пишет данные в базу предполагается секционировать таблицу необходимо для избежания блокировок

Yaroslav
27.09.2018
15:28:46
Ярослав, ну пусть человек помучается. Глядишь, в следующий раз думать будет.
Да вдруг это всё на чьём-то prodution происходит. ;) Как-то жалко, всё же...

> предполагается секционировать таблицу необходимо для избежания блокировок Каких блокировок?

Mike Chuguniy
27.09.2018
15:29:42
Lestat -
27.09.2018
15:30:49
IX на IX не ложится (sql server)

Mike Chuguniy
27.09.2018
15:33:17
При изменениях данных блокируются только изменяемые записи. У вас вставляются новые данные, которые никому не видны до момента фиксации транзакции, как они могут быть заблокированы?

Yaroslav
27.09.2018
15:33:52
IX на IX не ложится (sql server)
Я бы Вам посоветовал, эээ (мягко говоря) сейчас же прекратить применять Ваши знания MS SQL к базам абсолютно другой архитектуры. ;) Во-первых, здесь этой проблемы просто нет. Во-вторых, партционирование здесь работает совсем не так, как там.

Lestat -
27.09.2018
15:36:17
вы коллеги правы! но у нас релиз горит :DD бывали в таких ситуациях? ))))

Yaroslav
27.09.2018
15:37:00
Lestat -
27.09.2018
15:38:37
аригато!

Vitaliy
27.09.2018
15:39:54
вы коллеги правы! но у нас релиз горит :DD бывали в таких ситуациях? ))))
Верю, отчасти и понимаю) Только потом таким ребятам как я это всё поддерживать в проме. Ну пожалуйста, хотя бы первые 6 тем: https://postgrespro.ru/education/courses/DEV1

Vitaliy
27.09.2018
15:41:58
Там и посмотреть можно, на YouTube. На скорости 1.25, 1.5 ;) Удачи!

Vlad
27.09.2018
15:49:31
Подскажите, пожалуйста. Нужен механизм UPDATE or INSERT. допустим таблица +---+---+----+ |id|c1|c2| +---+---+----+ |1 |'x'| 'y'| +---+---+----+ Псевдокод: :p0 = 'x' :p1 = 'y' :p3 = 'xx' :p4 = 'yy' IF EXISTS (SELECT * FROM table WHERE c1=:p0 AND c2=:p1) DO UPDATE SET c1 = :p3 AND c2 = :p4 ELSE DO INSERT INTO table (c1,c2) VALUES (:p3, :p4)

ко?TEXHIK
27.09.2018
15:51:18
on conflict update

Google
Vlad
27.09.2018
15:52:55
конфликта ведь не будет. инсерт делается по колонкам без ограничений

id мы же не вставляем

ко?TEXHIK
27.09.2018
15:57:23
А у тебя могут вообще впринципе быть строки с одинакомым набором c1+c2 в этой таблице, которые каким-то другим способом туда попали?

Andrei
27.09.2018
15:57:47
извините, что встреваю

ко?TEXHIK
27.09.2018
15:57:48
если да, то окей, если нет, то это потенциальный ключ и ты можешь добавить на эту пару ограничение уникальности

Andrei
27.09.2018
15:57:50
про пример выше

а что именно камеры пишут в БД&

?

Konstantin
27.09.2018
16:52:44
Я бы Вам посоветовал, эээ (мягко говоря) сейчас же прекратить применять Ваши знания MS SQL к базам абсолютно другой архитектуры. ;) Во-первых, здесь этой проблемы просто нет. Во-вторых, партционирование здесь работает совсем не так, как там.
Насчёт того, что в Посгресе инсёрты не конфликтуют... Почитайте статью на Хабре как мы боролись с этими не конфликтующими блокировками: https://habr.com/company/postgrespro/blog/423685/

Let Eat
27.09.2018
17:45:54
Нет. У нас вообще нет эскалации настоящих блокировок, в отличие от. ;)
Ну какие то блокировки все равно должны быть: туплы в страничке разместить, узел в индексе обновить

Dilame
27.09.2018
18:58:50
Здравствуйте!) https://www.db-fiddle.com/f/bniCCPTSwNrZAzrZXtJVnm/2 Подскажите, пожалуйста, как для такой структуры данных найти максимальное количество побед подряд для user_id 1? В данном случае результат должен быть 2, так как user_id 1 имеет флаг is_win = true для round_id= 1 & 2

Yaroslav
27.09.2018
19:48:22
Насчёт того, что в Посгресе инсёрты не конфликтуют... Почитайте статью на Хабре как мы боролись с этими не конфликтующими блокировками: https://habr.com/company/postgrespro/blog/423685/
Это же не "эти", разве нет? В статье по LWLocks, а я про "настоящие" tuple locks. А в MS SQL действительно есть не только lightweight, но и "настоящие" блокировки на запись, они хранятся в памяти, т.е. их количество ограничено, вследствие чего они могут укрупняться... с худшими последствиями, чем в PostgreSQL, в крайних случаях.

Ну какие то блокировки все равно должны быть: туплы в страничке разместить, узел в индексе обновить
Контекст вопроса был: "как мне думалось в postgresql вставка блокирует таблицу на все транзакции кроме select," Так что и ответ был про это. :)

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