Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.03.2008, 13:00
|
|||
|---|---|---|---|
Уникальное поле по дате! |
|||
|
#18+
Привет Всем! Хотел узнать, можно ли в PostgreSQL создать уникальное поле по дате? Данное поле я хочу использовать для протокола! Если да, то сколько оно будет занимать и будет ли она на 100 процентов уникально даже если в одну секунду два (или более) разных пользователя делают операции! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.03.2008, 14:56
|
|||
|---|---|---|---|
Уникальное поле по дате! |
|||
|
#18+
А в чем проблема? Создаёте поле даты. Вешаете на него уникальный индекс. На сколько уникально - надо смотреть, до какого разряда хранится дата в постгресе. Если до секунд. То в одну секунду не даст естественно сохранить. Если до миллисекунд, то в одну миллисекунду не даст. Все также как с любым уникальным полем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.03.2008, 22:23
|
|||
|---|---|---|---|
Уникальное поле по дате! |
|||
|
#18+
pamirА в чем проблема? Создаёте поле даты. Вешаете на него уникальный индекс. На сколько уникально - надо смотреть, до какого разряда хранится дата в постгресе. Если до секунд. То в одну секунду не даст естественно сохранить. Если до миллисекунд, то в одну миллисекунду не даст. Все также как с любым уникальным полем. Дак я вои и хотел узнать, есть ли такая возможность сохранять дату, чтобы даже если в один момент создаёшь запись, чтобы это поле никак не пересекалась! Я насколько догадываюсь, для этого существует функции NOW() и LOCALTIMESTAMP ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.03.2008, 23:52
|
|||
|---|---|---|---|
Уникальное поле по дате! |
|||
|
#18+
Leximus pamirА в чем проблема? Создаёте поле даты. Вешаете на него уникальный индекс. На сколько уникально - надо смотреть, до какого разряда хранится дата в постгресе. Если до секунд. То в одну секунду не даст естественно сохранить. Если до миллисекунд, то в одну миллисекунду не даст. Все также как с любым уникальным полем. Дак я вои и хотел узнать, есть ли такая возможность сохранять дату, чтобы даже если в один момент создаёшь запись, чтобы это поле никак не пересекалась! Я насколько догадываюсь, для этого существует функции NOW() и LOCALTIMESTAMP !Что-то я не совсем понимаю, зачем Вам уникальность по дате, если нужно, чтобы в один момент можно было создавать несколько записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2008, 15:24
|
|||
|---|---|---|---|
Уникальное поле по дате! |
|||
|
#18+
LeximusХотел узнать, можно ли в PostgreSQL создать уникальное поле по дате?Можно. LeximusДанное поле я хочу использовать для протокола!протокола чего ? событий реального мира ? :) тогда имхо требование уникальности - лишнее, так как два события могут произойти одновременно. взять например систему протоколирования срабатывания датчиков открытия дверей - две двери могут быть открыты одновременно разными людьми и было бы глупо потерять второе событие из-за выставленного в базе ограничения уникальности времени события :) LeximusЕсли да, то сколько оно будет занимать и будет ли она на 100 процентов уникально даже если в одну секунду два (или более) разных пользователя делают операции!время в pg хранится с точностью до микросекунд (одна миллионная часть секунды) и занимать будет 8 байт. Точность зависит от настроек с которыми скомпилиован сервер и от точности, выставленной для поля таблицы при его создании. точнее от Код: plaintext 1. 2. 3. 4. Насчёт уникальности - непонятно, зачем Вам нужна уникальность ? Вы разве не понимаете что это зависит от пользователей ? Они могут _одновременно_ не то что в секунду, а даже в микросекунду что-то сделать, например нажать на кнопку. такая вероятность есть :) Более подробно про представление времени в postgres можно прочитать тут: http://www.postgresql.org/docs/current/interactive/datatype-datetime.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2008, 15:32
|
|||
|---|---|---|---|
Уникальное поле по дате! |
|||
|
#18+
если Вам так нужно ограничение уникальности, то его нужно делать по двум полям: unique (user_id, op_time) где user_id - идентификатор пользователя, а op_time - время операции -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2004502]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 392ms |

| 0 / 0 |
