powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Насколько можно доверять уникальности такой штуки
5 сообщений из 5, страница 1 из 1
Насколько можно доверять уникальности такой штуки
    #34205541
Почему-то не хочется ставить дополнительные либы для генерации GUID-ов (отговорите?)

Поэтому вопрос -
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE FUNCTION get_uuid()
  RETURNS VARCHAR( 32 ) AS
$BODY$BEGIN
	RETURN md5( 
		CAST(inet_client_addr() AS VARCHAR) || 
		CAST(inet_server_addr() AS VARCHAR) || 
		SESSION_USER || 
		CAST(current_timestamp AS VARCHAR) || 
		CAST(nextval('uuid_seq') AS VARCHAR)
	);
END$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
...
Рейтинг: 0 / 0
Насколько можно доверять уникальности такой штуки
    #34208370
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ммм.... на сколько я понимаю, мд5 ( как и любая другая хеш функция) не может в ПРИНЦИПЕ возвращать уникальное значение. Так что теоретически, такое использовать нельзя. А приктически - думаю проблемм быть не должно, тем более, если на поле guid в базе поставить unique то максимум вылетит ошибка о нарушение уникальности раз в Нцать миллионов генераций.
...
Рейтинг: 0 / 0
Насколько можно доверять уникальности такой штуки
    #34208524
Jelisдумаю проблемм быть не должно, тем более, если на поле guid в базе поставить unique то максимум вылетит ошибка о нарушение уникальности раз в Нцать миллионов генераций.

Спасибо. Тогда пока что заюзаю такой вариант, если какие-то траблы попрут - тогда уже подключу С-шную либу.
...
Рейтинг: 0 / 0
Насколько можно доверять уникальности такой штуки
    #34208527
JelisМмм.... на сколько я понимаю, мд5 ( как и любая другая хеш функция) не может в ПРИНЦИПЕ возвращать уникальное значение. Так что теоретически, такое использовать нельзя

Влогонку: на 2^128+1 генерации и гуид _теоретически_ станет неуникальным ;)
...
Рейтинг: 0 / 0
Насколько можно доверять уникальности такой штуки
    #34208757
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чайник в постгресе Jelisдумаю проблемм быть не должно, тем более, если на поле guid в базе поставить unique то максимум вылетит ошибка о нарушение уникальности раз в Нцать миллионов генераций.

Спасибо. Тогда пока что заюзаю такой вариант, если какие-то траблы попрут - тогда уже подключу С-шную либу.

А зачем вообще так сложно? Может хватит чегото типа seq || random ? И уникальный, и случайный.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Насколько можно доверять уникальности такой штуки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]