Есть задача - для существующей системы Windows клиент - MS SQL Server база сделать ткскыть "light" версию Windows клиент - Linux-PostgreSQL база.
Так вот в существующей базе на MS SQL Server используется функция newid() для значений по умолчанию при добавлении записей.
Есть ли в природе генераторы гуидов для PostgreSQL или для линукса, которые можно было бы приспособить для PostgreSQL?
Где найти генератор GUID?
-
- Уже с Приветом
- Posts: 2489
- Joined: 04 Feb 2002 10:01
- Location: Слава Україні!
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
Re: Где найти генератор GUID?
Win32nipuh wrote:Есть задача - для существующей системы Windows клиент - MS SQL Server база сделать ткскыть "light" версию Windows клиент - Linux-PostgreSQL база.
Так вот в существующей базе на MS SQL Server используется функция newid() для значений по умолчанию при добавлении записей.
Есть ли в природе генераторы гуидов для PostgreSQL или для линукса, которые можно было бы приспособить для PostgreSQL?
Тип данных serial не подойдет?
Дальше, все будет только хуже. Оптимист.
-
- Уже с Приветом
- Posts: 2489
- Joined: 04 Feb 2002 10:01
- Location: Слава Україні!
Re: Где найти генератор GUID?
f_evgeny wrote:Win32nipuh wrote:Есть задача - для существующей системы Windows клиент - MS SQL Server база сделать ткскыть "light" версию Windows клиент - Linux-PostgreSQL база.
Так вот в существующей базе на MS SQL Server используется функция newid() для значений по умолчанию при добавлении записей.
Есть ли в природе генераторы гуидов для PostgreSQL или для линукса, которые можно было бы приспособить для PostgreSQL?
Тип данных serial не подойдет?
проблема в том, что нужно не замену найти, а еще и данные перенести, некоторые гуиды известны еще и в приложении, избавиться не удается.
-
- Уже с Приветом
- Posts: 991
- Joined: 09 Sep 2001 09:01
- Location: The Earth
-
- Уже с Приветом
- Posts: 991
- Joined: 09 Sep 2001 09:01
- Location: The Earth
Re: Где найти генератор GUID?
Win32nipuh wrote:Есть ли в природе генераторы гуидов для PostgreSQL или для линукса, которые можно было бы приспособить для PostgreSQL?
Win32nipuh wrote:проблема в том, что нужно не замену найти, а еще и данные перенести, некоторые гуиды известны еще и в приложении, избавиться не удается.
Так чего собственно надо-то ? Формулировка вопроса противоречива.
Best regards,
Michael Popov
Michael Popov
-
- Уже с Приветом
- Posts: 2489
- Joined: 04 Feb 2002 10:01
- Location: Слава Україні!
Re: Где найти генератор GUID?
Michael Popov wrote:Win32nipuh wrote:Есть ли в природе генераторы гуидов для PostgreSQL или для линукса, которые можно было бы приспособить для PostgreSQL?Win32nipuh wrote:проблема в том, что нужно не замену найти, а еще и данные перенести, некоторые гуиды известны еще и в приложении, избавиться не удается.
Так чего собственно надо-то ? Формулировка вопроса противоречива.
В MSSQLServer есть такая функция:
NEWID
Creates a unique value of type uniqueidentifier.
Используется она так:
CREATE TABLE cust
(
cust_id uniqueidentifier NOT NULL
DEFAULT newid()
)
Так вот я хочу перенести базу на PostgreSQL и мне нужнен аналог такой функции для генерации гуидов и вставки значений по умолчанию для добавляемых записей.
PostgreSQL под Linux/FreeBSD.
Отказаться от гуида в таблицах невозможно, его нужно хранить хоть как строку, хоть как угодно, но приложение работает с гуидами
Ну вот.
Если точно, то мне нужна замена
-
- Уже с Приветом
- Posts: 991
- Joined: 09 Sep 2001 09:01
- Location: The Earth
GUID это просто набор битов уникальный (hopefully) во Вселенной. Каким образов Вы его формируете роли не играет. Всякий набор 128 (?) битов будет valid. Есть ли в Postgress функция формирования уникального набора 128 битов - не знаю. Как сделать это из приложения я уже написал.
Best regards,
Michael Popov
Michael Popov
-
- Уже с Приветом
- Posts: 4461
- Joined: 17 Jun 2003 04:41
-
- Уже с Приветом
- Posts: 2489
- Joined: 04 Feb 2002 10:01
- Location: Слава Україні!
Гуид
dot wrote:Есть ли встроенные генераторы в Postgres/Linux я не знаю, (в Postgres есть OID - уникальный в рамках базы)но что вам мешает сделать либо #Netcard+GMTtime or ServerIP+GMTime
Оказывается, в Линуксах есть полноценный генератор гуидов, и называется он
>uuidgen
Прикаждом выполнении он генерирует то, что нужно - uuid или guid, что собственно одно и то же.
Так вот, жизнь продолжается
Как я могу его использовать при вставке новых записей в PostgreSql, т.е. для заполнения поля по умолчанию гуидом?
В триггере? как вызвать в триггере исполняемый файл линукса?
-
- Уже с Приветом
- Posts: 2489
- Joined: 04 Feb 2002 10:01
- Location: Слава Україні!
-
- Уже с Приветом
- Posts: 2489
- Joined: 04 Feb 2002 10:01
- Location: Слава Україні!
http://gborg.postgresql.org/project/uni ... isplay.php
Нужна помощь гуру:
все сделал как было написано, когда делаю make, получаю ошибки:
Makefile: 7: ../../src/Makefile.global: No such file or directory
Makefile: 17: /contrib/contrib-global.mk: No such file or directory
make: *** No rule to make target 'contrib/contrib-global.mk'. Stop.
Чего не хватает? что нужно доустановить в систему?
С линуксом пока разбираюсь, осваиваю...
Нужна помощь гуру:
все сделал как было написано, когда делаю make, получаю ошибки:
Makefile: 7: ../../src/Makefile.global: No such file or directory
Makefile: 17: /contrib/contrib-global.mk: No such file or directory
make: *** No rule to make target 'contrib/contrib-global.mk'. Stop.
Чего не хватает? что нужно доустановить в систему?
С линуксом пока разбираюсь, осваиваю...