Size: a a a

pgsql – PostgreSQL

2021 January 29

YS

Yaroslav Schekin in pgsql – PostgreSQL
> Конечно же не имеет.

Да, в норме — не имеет.

> Вот тут действительно всё равно, как ты творчески не изгаляйся.

Мне кажется, что если задаться целью, то можно продемонстрировать даже такое. ;)

> было сказано что тоже всё равно

А я написал, что обычно — тоже всё равно, вот и всё. Т.е. в крайних случаях много чего можно увидеть / придумать.
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
> Конечно же не имеет.

Да, в норме — не имеет.

> Вот тут действительно всё равно, как ты творчески не изгаляйся.

Мне кажется, что если задаться целью, то можно продемонстрировать даже такое. ;)

> было сказано что тоже всё равно

А я написал, что обычно — тоже всё равно, вот и всё. Т.е. в крайних случаях много чего можно увидеть / придумать.
что такое “в норме”? Определите пожалуйста
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Milkhael
что такое “в норме”? Определите пожалуйста
В подавляющем большинстве практических ситуаций.
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
В подавляющем большинстве практических ситуаций.
ясно) спасибо)
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Milkhael
что такое “в норме”? Определите пожалуйста
это когда начинают использовать не только AND и не только строгие равенства
источник

DS

Daniella Starchenko in pgsql – PostgreSQL
Привет. Если делать апдейт поля со значеним А и заменять его на то же значение, какие то ресурсы и усилия субд потратит? Ну то есть, у нас по апи поступают данные обо всех параметрах клиентов разом. Некоторые параметры изменяются. Если делать апдейт всех полей, не заморачиваясь, то это как то может сказаться на производительности?
источник

DS

Daniella Starchenko in pgsql – PostgreSQL
или лучше выбирать изменившиеся данные до апдейта?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Daniella Starchenko
Привет. Если делать апдейт поля со значеним А и заменять его на то же значение, какие то ресурсы и усилия субд потратит? Ну то есть, у нас по апи поступают данные обо всех параметрах клиентов разом. Некоторые параметры изменяются. Если делать апдейт всех полей, не заморачиваясь, то это как то может сказаться на производительности?
такой подход может привести к тому, что даже если ни одно поле не поменялось всё равно UPDATE происходит. это значит новая логическая версии записи + обновление всех индексов.
этого надо избегать.
источник

VU

Vadim Ushakov in pgsql – PostgreSQL
@vyegorov Yaroslav В общем, в схеме
create transaction
select
set local timeout
update
reset
select
select
set local timeout
update
reset

Селекты будут без таймаута, на каждый апдейт он будет свой, в случае нарушения таймаута транзакция откатится вся?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Vadim Ushakov
@vyegorov Yaroslav В общем, в схеме
create transaction
select
set local timeout
update
reset
select
select
set local timeout
update
reset

Селекты будут без таймаута, на каждый апдейт он будет свой, в случае нарушения таймаута транзакция откатится вся?
Да.
источник

VU

Vadim Ushakov in pgsql – PostgreSQL
Yaroslav @vyegorov Подходит, спасибо
источник

K

Kirill in pgsql – PostgreSQL
Всем привет! Есть таблица с дубликатами по ID (отсутствует PK) и нужно удалить повторяющиеся ID, оставив только уникальные. Подскажите как это сделать? Можно ли создать столбец в таблице например с функцией ROW_NUMBER() OVER(PARTITION BY id) и потом сделать DELETE FROM test WHERE rn > 1?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
Всем привет! Есть таблица с дубликатами по ID (отсутствует PK) и нужно удалить повторяющиеся ID, оставив только уникальные. Подскажите как это сделать? Можно ли создать столбец в таблице например с функцией ROW_NUMBER() OVER(PARTITION BY id) и потом сделать DELETE FROM test WHERE rn > 1?
Всё уже украдено до нас. ;)
https://wiki.postgresql.org/wiki/Deleting_duplicates
источник

K

Kirill in pgsql – PostgreSQL
Yaroslav Schekin
Всё уже украдено до нас. ;)
https://wiki.postgresql.org/wiki/Deleting_duplicates
не пойдет, мне нужно оставить уникальные значения, т. е. если у меня в таблице 2 строки с id = 1, мне нужно удалить только 1 строку, а этот запрос удалит обе
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
не пойдет, мне нужно оставить уникальные значения, т. е. если у меня в таблице 2 строки с id = 1, мне нужно удалить только 1 строку, а этот запрос удалит обе
Не так прочитал, извините.
А там полные дубликаты, или всё-таки записи уникальны?
Вообще, в крайнем случае есть варианты вроде: https://stackoverflow.com/a/12963112
источник

K

Kirill in pgsql – PostgreSQL
Yaroslav Schekin
Не так прочитал, извините.
А там полные дубликаты, или всё-таки записи уникальны?
Вообще, в крайнем случае есть варианты вроде: https://stackoverflow.com/a/12963112
Да, полные дубликаты. Спасибо за ссылку. Пытаюсь понять как удаление с USING работает
источник

K

Kirill in pgsql – PostgreSQL
к сожалению, тоже не мой вариант
источник

K

Kirill in pgsql – PostgreSQL
строки полностью одинаковые, нет различающихся полей
источник

K

Kirill in pgsql – PostgreSQL
хотел так ALTER TABLE test ADD COLUMN rn int DEFAULT ROW_NUMBER() OVER(PARTITION BY id) но тоже нельзя
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
строки полностью одинаковые, нет различающихся полей
Так для того ответа неважно, есть они или нет.
источник