Size: a a a

pgsql – PostgreSQL

2021 January 20

D

Dmitriy in pgsql – PostgreSQL
Marat
Да нет, но это лишняя сложность. Например, в системе должны быть методы get_before_id() и get_after_id() - получится, что тоже усложнение
Ну Вы серьёзно?)
источник

M

Marat in pgsql – PostgreSQL
Yaroslav Schekin
Очень повезло, значит. Тогда либо Вам либо хватит временной метки, либо всё-таки и в Вашей ситуации, нет? ;)
Не нужно быть Вангой, пожалуйста
источник

M

Marat in pgsql – PostgreSQL
Dmitriy
Ну Вы серьёзно?)
Что не так?
источник

D

Dmitriy in pgsql – PostgreSQL
Marat
Что не так?
Никакой же сложности нет. Если Вам нужно отсортировать в порядке добавления, просто вызываете ORDER BY created_at. Какие же тут могут быть проблемы?
источник

D

Dmitriy in pgsql – PostgreSQL
При записи там автоподстановка now(), то есть в коде это вообще реализовывать не нужно
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Marat
Не нужно быть Вангой, пожалуйста
Нужно быть реалистом, пожалуйста. ;)
Вы понимаете, что тут в самом деле либо одно, либо другое?
источник

M

Marat in pgsql – PostgreSQL
Dmitriy
Никакой же сложности нет. Если Вам нужно отсортировать в порядке добавления, просто вызываете ORDER BY created_at. Какие же тут могут быть проблемы?
Если мне нужна навигация по id, взять 100 записей после определённого id. Плюс усложнение - лишняя колонка, больше размер базы и т д.
источник

D

Dmitriy in pgsql – PostgreSQL
Marat
Если мне нужна навигация по id, взять 100 записей после определённого id. Плюс усложнение - лишняя колонка, больше размер базы и т д.
Очень приближённо: WHERE created_at>(select created_at from mytable where id='dssd') order by created_at ASC limit 100
источник

M

Marat in pgsql – PostgreSQL
Dmitriy
Очень приближённо: WHERE created_at>(select created_at from mytable where id='dssd') order by created_at ASC limit 100
Ахахахахах
источник

D

Dmitriy in pgsql – PostgreSQL
Marat
Ахахахахах
Не более смешно, чем "лишняя  колонка в базе"
источник

M

Marat in pgsql – PostgreSQL
Dmitriy
Не более смешно, чем "лишняя  колонка в базе"
То есть мы будем думать, что timestamp уникален и делать такое, вместо where id>$1 limit 100?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Marat
То есть мы будем думать, что timestamp уникален и делать такое, вместо where id>$1 limit 100?
воспользуйтесь bigint колонкой
источник

M

Marat in pgsql – PostgreSQL
Victor Yegorov
воспользуйтесь bigint колонкой
Вот. Мой вопрос про это. Кто-нибудь пробовал использовать в реальной жизни генератор из статьи? Смущает, что твиттер от этого отказался и кроме статьи 2012 года нет других примеров из жизни
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Marat
Вот. Мой вопрос про это. Кто-нибудь пробовал использовать в реальной жизни генератор из статьи? Смущает, что твиттер от этого отказался и кроме статьи 2012 года нет других примеров из жизни
вам ответили то, как люди поступают в реальной жизни, вас это по каким-то причинам не устраивает.
источник

D

Dmitriy in pgsql – PostgreSQL
Marat
То есть мы будем думать, что timestamp уникален и делать такое, вместо where id>$1 limit 100?
Он точен до микросекунд (https://www.postgresql.org/docs/10/datatype-datetime.html). Какова вероятность попасть в коллизию?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
в транзакции вставить несколько строчек, now() даст время начала транзакции для всех
источник

D

Dmitriy in pgsql – PostgreSQL
Victor Yegorov
в транзакции вставить несколько строчек, now() даст время начала транзакции для всех
А, ну так да
источник

D

Dmitriy in pgsql – PostgreSQL
Но если это какие-то юзерские запросы, вряд ли они будут в рамках одной транзакции.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Marat
То есть мы будем думать, что timestamp уникален и делать такое, вместо where id>$1 limit 100?
А если он не уникален, то "Не в моей ситуации." было тем более неверно... т.е. Вы этот порядок просто "придумываете", и стоит отдавать себе в этом отчёт, вот что я имел в виду.
Опять-таки, вера в то, что now() имеет какое-то отношение к порядку транзакций, просто наивна. ;)
источник

M

Marat in pgsql – PostgreSQL
Yaroslav Schekin
А если он не уникален, то "Не в моей ситуации." было тем более неверно... т.е. Вы этот порядок просто "придумываете", и стоит отдавать себе в этом отчёт, вот что я имел в виду.
Опять-таки, вера в то, что now() имеет какое-то отношение к порядку транзакций, просто наивна. ;)
Причём тут now()? Ты точно мне ответить хотел?
источник