Ah sim, note que a idéia do identificador de instalação e id de usuário são
para ajudar a evitar que a chave se repita em outra máquina. Nesse caso, seu
servidor central deveria ter uma tabela para ir registrando os
identificadores já utilizados para que quando vc instalasse a aplicação, ela
não repetisse por acidente um id de outra instalação. Aí ia ser o caos

Em 9 de julho de 2011 06:41, Pablo Sánchez <[email protected]> escreveu:

> Pelo que estou vendo vc quer trabalhar com uma aplicação "off-line" que
> quando entre on-line faça o upload das informações trabalhadas localmente,
> correto?
>
> O campo serial nada mais é que uma constraint ON INSERT que busca o nextval
> da sequence a ele associado. Você poderia simplesmente criar uma constraint
> que criasse um valor para vc, não necessariamente aleatório, poderia ser um
> identificador composto por id do usuário que criou, mais um identificador
> único de instalação (sei lá, inventa), mais um sequence local só para isso.
> Aí, quando criasse ficaria algo como
>
> 10/INST10002-1
>
> Ou qualquer coisa assim. O lance é que se resolve simplesmente com uma boa
> pensada em como compor sua chave, e criando a constraint.
>
> Em 6 de julho de 2011 10:58, Fellipe Henrique <[email protected]>escreveu:
>
>> Bom dia amigos,
>>
>> Sou desenvolvedor Delphi, e estou iniciando um projeto grande em que
>> teremos um banco multi-cliente e multi-empresa, com possíveis
>> importação/exportação de dados entre as empresas.
>>
>> Em Firebird, que é o que eu uso, eu uso como PK um código integer.. o que
>> dá muito trabalho pra controlar no caso das importações/exportações.
>>
>> Aí pensei em usar GUID.. no Firebird, como é complicado demais de usar o
>> GUID Nativo do banco, eu uso como PK um campo Char com o tamanho de um
>> GUID...
>>
>> Mas aí entra minha questão no PostgreSQL.. ele possui um campo nativo de
>> GUID, correto? O ideal é usar ele ou no meu esquema mesmo de char? usando o
>> nativo, numa Query, como possu pesquisar por ele, hoje eu faço assim:
>> "select * from cliente where idcliente = 'fsfs23f23..' "  como seria no caso
>> de usar o nativo do Postgre?
>>
>> Desculpe-me qualquer coisa,
>>
>> Obrigado a todos,
>>
>> []s
>>
>>
>>
>> T.·.F.·.A.·.     S+F
>>
>> *Fellipe Henrique P. Soares*
>>
>> Analista e Desenvolvedor de Softwares for Win32
>> Linux Administrator
>>
>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
>
> --
>
>
>
>
>  *
> Pablo Santiago Sánchez*
> ZCE ZEND006757
> [email protected]
> (61) 9975-0883
> http://www.sansis.com.br
> *"Pluralitas non est ponenda sine necessitate"*
>
>


-- 




 *
Pablo Santiago Sánchez*
ZCE ZEND006757
[email protected]
(61) 9975-0883
http://www.sansis.com.br
*"Pluralitas non est ponenda sine necessitate"*
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a