Size: a a a

pgsql – PostgreSQL

2020 May 22

SF

Segmentation Fault in pgsql – PostgreSQL
Увы, не проходит...

Получаю:
ERROR: missing FROM-clause entry for table "deleted_token_ids"
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
Segmentation Fault
Увы, не проходит...

Получаю:
ERROR: missing FROM-clause entry for table "deleted_token_ids"
IN (SELECT * FROM deleted_token_ids) ?
источник

SF

Segmentation Fault in pgsql – PostgreSQL
Dmitriy Momotyuk
IN (SELECT * FROM deleted_token_ids) ?
Да, вот так получилось, спасибо. Только вместо всей выборки: token_id.
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
да без разницы, в результате подзапроса всё равно один столбец
источник

AM

Alexey Mishagin in pgsql – PostgreSQL
Подскажите, если стоит кластер патрони из двух неравноценных серверов (по железу), на фейловере проц и память могут тормозить лидера?
или они независимы и в худшем случае будет расти лаг?
ну и в целом фейловер имеет такие же нагрузки в плане вычислений при работе с бд или там тупо работа с файлами?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Alexey Mishagin
Подскажите, если стоит кластер патрони из двух неравноценных серверов (по железу), на фейловере проц и память могут тормозить лидера?
или они независимы и в худшем случае будет расти лаг?
ну и в целом фейловер имеет такие же нагрузки в плане вычислений при работе с бд или там тупо работа с файлами?
не очень понятно о чём вопрос.
фейловер — процесс аварийного переключения Мастер-базы с одного узла кластера на другой. после фейловера может быть деградация сервиса из-за холодных кэшей. если сервера отличаются, то может быть деградация и из-за нехватки железных ресурсов на другом узле
источник

AM

Alexey Mishagin in pgsql – PostgreSQL
Victor Yegorov
не очень понятно о чём вопрос.
фейловер — процесс аварийного переключения Мастер-базы с одного узла кластера на другой. после фейловера может быть деградация сервиса из-за холодных кэшей. если сервера отличаются, то может быть деградация и из-за нехватки железных ресурсов на другом узле
про деградацию понял, спасибо.
Вопрос был в том, что если лидер имеет ресурсов 150% от второго узла кластера, скорость работы лидера не будет замедляться, в связи с более слабым железом на втором узле?
источник

AM

Alexey Mishagin in pgsql – PostgreSQL
Ну и условно, если мы вычисляем число пи с точностью до 300 знака на одном сервере, на втором сервер это вычисление тоже будет проходить или на него передастся уже обсчитанный вариант?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
в плане репликации — нет. если на реплике (-ах) включен hot_standby_feedback и они используются для запросов, то реплики будут влиять на vacuum-ы таблиц на мастере.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
репликация бинарная — на реплики прилетают физические изменения в блоках базы посредством транзакционного лога (WAL)
источник

AM

Alexey Mishagin in pgsql – PostgreSQL
т.е. посчитали, внесли изменения в БД, на реплики прилетает уже результат обсчета, без нагрузки на ЦП и ОЗУ?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Alexey Mishagin
т.е. посчитали, внесли изменения в БД, на реплики прилетает уже результат обсчета, без нагрузки на ЦП и ОЗУ?
да
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Ð
а че не так с фсинком? я не знаю
Это вообще больное место всех разработчиков СУБД.
Операционная система вечно кэщирует файлы и часто ничего не делает по fsync .
В некоторых системах файловые системы модульные , и система делает fsync , передавая его в драйвер файловой системы, или подсистему, что занимается этим (написанную другими разработчиками), а уже драйвер опять не делает ничего (типа быстрее же)

Не делает ничего - я подразумеваю не только тупо вообще ничего не делает, но и делает это действие асинхронно. А для СУБД критически важно делать это действие именно строго синхронно.

Сейчас конечно ситуация меняется, все становится лучше, я дал немного ретроспективную картинку, но такое появляются и новые ФС, и какие-то новые режимы работы ОС, и новые виды хранилищ данных. Так что все это находится в вечной борьбе за гарантированное сохранение данных в хранилище.
источник

AM

Aleksey Maslyukov in pgsql – PostgreSQL
Ilia Zviagin
Это вообще больное место всех разработчиков СУБД.
Операционная система вечно кэщирует файлы и часто ничего не делает по fsync .
В некоторых системах файловые системы модульные , и система делает fsync , передавая его в драйвер файловой системы, или подсистему, что занимается этим (написанную другими разработчиками), а уже драйвер опять не делает ничего (типа быстрее же)

Не делает ничего - я подразумеваю не только тупо вообще ничего не делает, но и делает это действие асинхронно. А для СУБД критически важно делать это действие именно строго синхронно.

Сейчас конечно ситуация меняется, все становится лучше, я дал немного ретроспективную картинку, но такое появляются и новые ФС, и какие-то новые режимы работы ОС, и новые виды хранилищ данных. Так что все это находится в вечной борьбе за гарантированное сохранение данных в хранилище.
На нормальном железе с функцией дублирования все работает как надо. На железе не нужно экономить.
источник

A

Alex in pgsql – PostgreSQL
помогите мне с sql'ем, что-то с утра не соображу никак
есть таблица
id field_id value
1  101       datetime
1  102       text
2  101       datetime
2  102       anothertext

как мне выбрать из этой таблицы все айдишники, где value в случае field_id = 102 равно anothertext
и value в случае field_id = 101 было год назад
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
подскажите чем бы генерировать диаграмму схемы базы?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Aleksey Maslyukov
На нормальном железе с функцией дублирования все работает как надо. На железе не нужно экономить.
Нормальное железо с "ненормальной" OS использовать тоже бесполезно. См. https://wiki.postgresql.org/wiki/Fsync_Errors
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alex
помогите мне с sql'ем, что-то с утра не соображу никак
есть таблица
id field_id value
1  101       datetime
1  102       text
2  101       datetime
2  102       anothertext

как мне выбрать из этой таблицы все айдишники, где value в случае field_id = 102 равно anothertext
и value в случае field_id = 101 было год назад
Это не таблица, а набор каких-то строк. ;) Покажите \d — а то так не видно ни PK, ни типов.
Кстати — это EAV, да?
источник

A

Alex in pgsql – PostgreSQL
Yaroslav Schekin
Это не таблица, а набор каких-то строк. ;) Покажите \d — а то так не видно ни PK, ни типов.
Кстати — это EAV, да?
ну я специально дал только выдержку из таблицы, те поля, с которыми мне надо поработать)
что такое EAV - понятия не имею)
я вроде разобрался через
select id where id in (select id from table where field_id = 102 and value = 'anothertxt') and field_id = 101 and value < datetime

логика правильная?)
источник

SB

Sergey Belan in pgsql – PostgreSQL
Alex
помогите мне с sql'ем, что-то с утра не соображу никак
есть таблица
id field_id value
1  101       datetime
1  102       text
2  101       datetime
2  102       anothertext

как мне выбрать из этой таблицы все айдишники, где value в случае field_id = 102 равно anothertext
и value в случае field_id = 101 было год назад
Если я правильно понял суть задачи то как то так
SELECT id
FROM t1
WHERE
 (field_id = 102 AND value = ‘anothertext’)
 OR (is_valid_date(value) AND extract(years from value::datetime) = 2019 AND field_id = 101)
источник