Size: a a a

pgsql – PostgreSQL

2021 June 10

IA

Ilya Anfimov in pgsql – PostgreSQL
А, понял, спасибо.
источник

M

Me👀 in pgsql – PostgreSQL
Всем привет! Уже около часа ищу ответ, решил снова спросить помощи знатоков.
Есть таблица, в ней основные данные это дата и версия (число). Нужно запросом получить по каждой дате последнюю версию. Подскажите, пожалуйста.
https://dbfiddle.uk/?rdbms=postgres_11&fiddle=69fcba80db3635124ea14142c7bc1ba5
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Вообще непонятно, что именно нужно, IMHO.
Почему в запросе есть:
   AND date BETWEEN '2021-04-27' AND '2021-04-29'

например (это просто фильтр или хотелось получить версию на каждую из этих дат)?
Далее, в какой группировке (или без неё) должны быть эти версии?
Т.е. на каждую дату по версии? Или на каждую дату и пользователя? Или...?
источник

M

Me👀 in pgsql – PostgreSQL
Дат очень много. Хочу получить максимальную версию для определенного набора дат, для таких-то пользователей и такого-то ассета.

Группировка примерно такая: на одну дату и один ассет может быть много пользователей и много версий. Для ассета1 в день1 от юзер1 версии только увеличиваются (от 1 и выше). Для юзер2 также.
источник

B

B o g d a n in pgsql – PostgreSQL
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Лично мне намного понятнее не стало — всё это можно понять по-разному, а гадать / писать запросы "наудачу" не хочется. ;(

> на одну дату и один ассет может быть много пользователей и много версий

Вот и показали бы настоящий ключ этой таблицы в том fiddle — всё лучше, чем рассказывать. ;)
источник

АВ

Александр Витковский... in pgsql – PostgreSQL
Коллеги, добрый день!
Подскажите, пожалуйста, наиболее безболезненный способ удаления большого количества записей.
Есть таблица, весит ~ 2ТБ, необходимо из нее удалить все строки до «2021-01-01»

delete from очень дорогая процедура, запуская ее запрос зависает на длительное и по итогу не отрабатывает.

Наверняка кто-то сталкивался с подобным и готов поделиться своим опытом, буду признателен 🙏
источник

M

Me👀 in pgsql – PostgreSQL
Спасибо, что-то похожее я получал. Но я не сумел  получить все другие поля (user_id, asset_id). Если добавлять их в group by, то получал слишком много строк в результате (
источник

B

B o g d a n in pgsql – PostgreSQL
Разбить на delete where помесячно/понедельно/подневно?
источник

B

B o g d a n in pgsql – PostgreSQL
Select * from table where id in ([Запрос])
источник

МБ

Михаил Белов... in pgsql – PostgreSQL
А сколько всего в таблице данных останется? Может стоит перенести свежие данные в новую таблицу, а старую дропнуть.
источник

АВ

Александр Витковский... in pgsql – PostgreSQL
Сделал по дневно, так как помесячно выполнился около 3 часов и безрезультатно
Но по дневно будет и очень долго и все так же дорого
источник

АВ

Александр Витковский... in pgsql – PostgreSQL
Данных ~5.2 млрд записей
источник

M

Me👀 in pgsql – PostgreSQL
Хм, ну там же не id в подзапросе, но я еще попробую) спасибо)
источник

АВ

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

M

Me👀 in pgsql – PostgreSQL
Я хотел попроще сделать)
источник

SL

S. L. in pgsql – PostgreSQL
Всем привет, есть таблица с 3 полями - address, is_taken(флаг true\false, показывает выдан ли этот кошелек) и user_id(айдишник пользователя, за которым закреплен кошелек, если он уже выдан)

user_id должен быть уникальным, но вначале, пока кошелек не выдан пользователю, нужно каким-то образом это обозначать. Есть идеи как это можно реализовать?
источник

B

B o g d a n in pgsql – PostgreSQL
источник

M

Me👀 in pgsql – PostgreSQL
row_number() over (partition by date order by version desc) as num... спасибо, пойду смотреть ,как это работает
источник

B

B o g d a n in pgsql – PostgreSQL
Например оставлять user_id = null, пока не выдан.
источник