
Terminator
21.09.2018
07:36:15
Knight будет жить. Поприветствуем!

Dmitry
21.09.2018
07:37:08
Эта функция возвращает 2 курсора и 1 целое. Далее, после вызова функции, этими курсорами можно пользоваться в блоке транзакций, например, вот так:
begin;
select * from get_notifications(...);
fetch all from p_cursor_all;
fetch all from p_cursor;
...
end;
Т.е. если возвращать сами курсоры - это одна сигнатура функции, если возвращать записи, полученные с помощью этих курсоров - другая сигнатура функции.
Вот тут подробно всё написано - https://www.postgresql.org/docs/10/static/plpgsql-cursors.html#PLPGSQL-CURSOR-USING

Google

elfiki
21.09.2018
07:54:55
а есть какой-то сопсоб оценить сколько всего будет удалено из разных мест по внешнему ключу, при удалении записи?

Yaroslav
21.09.2018
07:56:51

elfiki
21.09.2018
08:05:23

Yaroslav
21.09.2018
08:06:35

Mike Chuguniy
21.09.2018
08:07:37

elfiki
21.09.2018
08:08:53
да просто надо удалить запись из таблицы пользователей
интересно сколько всего при этом пропадет.
52 таблицы ссылаются на пользователей

Vladimir
21.09.2018
08:14:11

Denis
21.09.2018
08:14:13
я проверил. :)
вот ключевой момент:
# update goods set discount = discount + 100 where discount = 15;
UPDATE 0

Mikhail
21.09.2018
08:16:01
А где написано, что RULES — deprecated?
Ну это всё тянется уже почти 20 лет. Рулы не выпиливают из-за обратной совместимости при этом их уже частично и не поддерживают (кейз с with). Обратная совместимость в том числе на стандартный view ну и пр

elfiki
21.09.2018
08:16:04

Mikhail
21.09.2018
08:17:44

Google

Yaroslav
21.09.2018
08:19:11

Mikhail
21.09.2018
08:24:37
В документации по совокупности все это есть фактически
Запретить нельзя использовать
Как говорится

Mike Chuguniy
21.09.2018
08:26:59

Yaroslav
21.09.2018
08:28:43
В документации по совокупности все это есть фактически
Да предупреждения-то там есть, но прямого совета "никогда не используйте нетривиальные RULES", там, к сожалению, нет.
Более того, там есть пример (кривоватый), про который документация врёт, что он "абсолютно корректен". ;)
Как говорится
Кстати, пока Вы здесь... нечто совершенно другое. :)
Вы, говорят, делали доклад про изоляцию транзакций vs replication...
А Вы не в курсе, какие(-нибудь) из систем триггерной репликации (Slony, Londiste, ...) обеспечивают full-ACID?

Mikhail
21.09.2018
08:34:37
Мне такие не известны. То что я посмотрел — не нашёл
В том плане, что нет механизма сериализации там кроме как на очереди
Нет приедикатных локов

Yaroslav
21.09.2018
08:38:11
Мне такие не известны. То что я посмотрел — не нашёл
Хмм... а я вот смотрел slony, и всё, что пока попробовал — работает, как и должно...
Но там какие-то "пляски" с xid/xip-ами (snapshot-ами), и сходу непонятно ничерта. ;)
И в документации (кроме PDF-ов) как-то чётко ничего не сказано. :(
> Нет приедикатных локов
Они для этого совсем не нужны.

Mikhail
21.09.2018
08:49:39
Могут быть не нужны. Но явного указания других способов «синхронизации» я тоже не нашёл . И мне трудно представить такие практические применения без добавления существенных лагов в репликацию

Yaroslav
21.09.2018
09:11:31

Sardor
21.09.2018
09:12:08

Ilia
21.09.2018
09:34:35

Yaroslav
21.09.2018
09:36:48

Ilia
21.09.2018
09:37:14
Если не такой, то это очень печально.

Yaroslav
21.09.2018
09:38:01

Ilia
21.09.2018
09:38:30

Google

Ilia
21.09.2018
09:39:19
Хотя ... надо ещё раз перепроверить, я забыл уже немного.

Yaroslav
21.09.2018
09:39:28

Ilia
21.09.2018
09:39:47
Это же не SELECT .... UPDATE...

Yaroslav
21.09.2018
09:40:33

Ilia
21.09.2018
09:40:55
Не ну ваще прикольно, если так... Классная СУБД PG, и тут -- такой ляп...

Yaroslav
21.09.2018
09:41:44

Ilia
21.09.2018
09:42:20

Yaroslav
21.09.2018
09:42:57

Ilia
21.09.2018
09:43:13

Terminator
21.09.2018
09:44:20
@leshik13 будет жить. Поприветствуем!

Alexey
21.09.2018
09:44:55
привет, ребят
случилось вот такое
ERROR: could not receive data from WAL stream: ERROR: could not map filenode "base/16384/77077" to relation OID
как это лечить или траблшутить?
настроена логическая репликация, постгрес 10.3 - 10.5
ошибка на пяти репликах сразу

Yaroslav
21.09.2018
09:47:38

Google

Alexey
21.09.2018
09:48:28
смотрел, но трудно понять - там много всего что может этого касаться

Ilia
21.09.2018
09:53:11

Yaroslav
21.09.2018
09:53:36

Alexey
21.09.2018
09:54:09
ну вот и хотелось бы сначала решить, а потом уже апгрейдить

Yaroslav
21.09.2018
09:54:10

Alexey
21.09.2018
09:54:23
это таблица которая реплицируется
я пробовал снять с неё ключи, транкейтнуть и заново зареплицировать, но не помогает

Yaroslav
21.09.2018
09:54:56

Alexey
21.09.2018
09:55:29
ну как-то продакшн вот так с наскока апгрейдить не очень хочется :)

Yaroslav
21.09.2018
09:55:32

Alexey
21.09.2018
09:55:41
нет, на получателе
WAL-ы-то там

Yaroslav
21.09.2018
09:56:24
WAL-ы-то там
Так, похоже, в самих WAL-ах что-то не так (т.е. проблема в источнике).

Alexey
21.09.2018
09:57:08
да понятно, immediate проблему как снять можно?
одну таблицу допустим я могу восстановить везде
но всё остальное что изза этого застряло?

Yaroslav
21.09.2018
09:59:06
но всё остальное что изза этого застряло?
А кто его знает... скорее всего, репликацию придётся сносить и пересоздавать.
И я не зря спрашивал: "Кстати, что там в release notes подходит под Вашу ситуацию?"
Потому что от этого Вы могли бы оттолкнуться (от описания проблем).
но всё остальное что изза этого застряло?
Можете ещё полистать:
https://www.postgresql.org/message-id/CAMa1XUjkTsrtmJxdwJBw9UBdxqYYz2pTxbwyaK0HwjQ9iLjefA@mail.gmail.com
и:
https://www.postgresql.org/message-id/20180914021046.oi7dm4ra3ot2g2kt%40alap3.anarazel.de
На первый взгляд, похоже...

Alexey
21.09.2018
10:05:20
да похоже, решения только нет..

Google

Dmitry
21.09.2018
11:04:09
всем добра! ребята, может у кого есть под рукой компактная книжка для новичков (не инженеров) по SQL с примерами на PostgreSQL. Я дал ссылку на демку Авиаперевозок, но не знаю зайдет такое или будет слишком сложно

Mike Chuguniy
21.09.2018
11:22:14
SQL же изучать стоит начинать с Грубера "Понимание SQL" а уже потом лезть в диалекты конкретной БД.

Dmitry
21.09.2018
11:37:58

Vladimir
21.09.2018
11:46:03

alex
21.09.2018
12:28:15
народ, вопрос по патрни.
как увеличить max_connections
в файле base-conf поменял, значение , сделал форсе релаод, но так и осталось 100 коннектов

Ilia
21.09.2018
13:02:25

Кондр
21.09.2018
13:16:58

Sergey
21.09.2018
13:17:30

alex
21.09.2018
13:20:25
а пчему релоад не помогает ?

Sergey
21.09.2018
13:21:51
а пчему релоад не помогает ?
Этот параметр затрагивает размеры структур памяти которые аллоцируются при старте. И дальше на живой базе их раздвинуть не получается.

Ilia
21.09.2018
13:26:01

alex
21.09.2018
13:27:37
спс