Size: a a a

pgsql – PostgreSQL

2021 March 07

FL

Fedor Lukianov in pgsql – PostgreSQL
Владимир Яворский
Или нет.... Всё ещё нет update и delete. Индексов тоже нет.
Ждём доработок.
источник

FL

Fedor Lukianov in pgsql – PostgreSQL
Но для исторических данных уже Профит большой. Есть сжатие и скорость поднялась
источник

SS

Steel Sword in pgsql – PostgreSQL
Владимир Яворский
А без курсора?
Можно и без курсора, но я не верю в магию. Раз не работает, значит, есть причина. Скорее всего WITH не допускает OPEN в подвыражении. Но звучит как-то костыльно
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Steel Sword
Можно и без курсора, но я не верю в магию. Раз не работает, значит, есть причина. Скорее всего WITH не допускает OPEN в подвыражении. Но звучит как-то костыльно
Нет, причина в том, что Вы этот синтаксис выдумали. ;)
https://www.postgresql.org/docs/current/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING
А Вы почему-то пытаетесь всунуть OPEN посреди запроса.
источник

AB

Alexey Bulgakov in pgsql – PostgreSQL
Steel Sword
Можно и без курсора, но я не верю в магию. Раз не работает, значит, есть причина. Скорее всего WITH не допускает OPEN в подвыражении. Но звучит как-то костыльно
нет, просто вы вместо кода написали какую-то ерунду
источник

gg

gri gvandri in pgsql – PostgreSQL
Добрый день!
Есть два поля sort и description, наисано orderBy('sort', 'asc'), но при заполнении description порядок сортировки меняется у полей с одинаковым значением сорт, эта строка опускается ниже, ка сделать чтобы порядок не зависел от поля description?
источник

SS

Steel Sword in pgsql – PostgreSQL
Yaroslav Schekin
Нет, причина в том, что Вы этот синтаксис выдумали. ;)
https://www.postgresql.org/docs/current/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING
А Вы почему-то пытаетесь всунуть OPEN посреди запроса.
С чего это выдумал.

Синтаксис у with:
WITH cte_name AS (query) query;

Синтаксис у open:
OPEN unbound_cursor FOR query;


Я делаю:
WITH cte_name AS (insert_query)
— query:
OPEN result_cursor FOR
— query:
SELECT * FROM cte_name;

Что именно я выдумал?
источник

SS

Steel Sword in pgsql – PostgreSQL
Alexey Bulgakov
нет, просто вы вместо кода написали какую-то ерунду
Ну или может вы скажете что именно я выдумал
источник

AB

Alexey Bulgakov in pgsql – PostgreSQL
Steel Sword
Ну или может вы скажете что именно я выдумал
вбей в поисковик open cursor. вроде это не сложно совсем
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Steel Sword
С чего это выдумал.

Синтаксис у with:
WITH cte_name AS (query) query;

Синтаксис у open:
OPEN unbound_cursor FOR query;


Я делаю:
WITH cte_name AS (insert_query)
— query:
OPEN result_cursor FOR
— query:
SELECT * FROM cte_name;

Что именно я выдумал?
> Синтаксис у with:
> WITH cte_name AS (query) query;

Да, вот это Вы и выдумали. Это синтаксис запроса (query), а WITH — только его часть.
Ну а остальное следует из этого, собственно.
источник

SS

Steel Sword in pgsql – PostgreSQL
Yaroslav Schekin
> Синтаксис у with:
> WITH cte_name AS (query) query;

Да, вот это Вы и выдумали. Это синтаксис запроса (query), а WITH — только его часть.
Ну а остальное следует из этого, собственно.
Я думал, что наоборот запрос часть WITH. Хотя ничего подобного я не вижу. Но сейчас зашел в доки, написано, что WITH работает только с SELECT, INSERT, UPDATE и DELETE.
источник

SS

Steel Sword in pgsql – PostgreSQL
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Steel Sword
Я думал, что наоборот запрос часть WITH. Хотя ничего подобного я не вижу. Но сейчас зашел в доки, написано, что WITH работает только с SELECT, INSERT, UPDATE и DELETE.
А я — вижу. Где именно в документации Вы это читаете / что Вам кажется противоречащим или непонятным?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Это не документация PostgreSQL, "нам" (участникам проекта) всё равно, что написано на левых сайтах. ;)
Т.к. повлиять на это мы особо не можем, в том числе.
источник

SS

Steel Sword in pgsql – PostgreSQL
Yaroslav Schekin
Это не документация PostgreSQL, "нам" (участникам проекта) всё равно, что написано на левых сайтах. ;)
Т.к. повлиять на это мы особо не можем, в том числе.
Т.е. учитывая, что инсерт не может быть вложенным, нужный мне результат я должен сперва записать в переменную, потом открыть курсор на селект из переменной? Погодите, а можно сделать select from переменная?
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
вы просто открыли курсор посреди объявления запроса
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
а нужно курсор для запроса , в котором и будут WITH
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Steel Sword
Т.е. учитывая, что инсерт не может быть вложенным, нужный мне результат я должен сперва записать в переменную, потом открыть курсор на селект из переменной? Погодите, а можно сделать select from переменная?
Эээ... что?!
Вы сделали неправильный вывод, никаких переменных тут не нужно.
Послушайте, если Вы прочитали документацию — это же простая логика на уровне 2+2=4. ;(
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
вообще похоже на лабораторку )
источник

SS

Steel Sword in pgsql – PostgreSQL
Владимир Яворский
а нужно курсор для запроса , в котором и будут WITH
🤯
источник