Hoje eu queria definir um uuid de valor 00000000-0000-0000-0000-000000000000
. Sendo um homem do SQL Server, eu normalmente ...
select cast(0x0 as uniqueidentifier);
...mas estou no mundo postgres agora, então tirei um sensato ...
select cast('\x00'::bytea as uuid);
ERROR: cannot cast type bytea to uuid
LINE 1: select cast('\x00'::bytea as uuid);
^
Droga! Então eu vou para os documentos postgres na conversão de tipo esperando ver um documento como este para revisar quais tipos de dados eu posso converter por padrão sem precisar criar uma conversão explícita .
Se esse gráfico existir nos documentos, ele está bem oculto. O Google também não é super útil a esse respeito.
Existe uma boa referência de documentação para conversões de tipo permissíveis padrão no postgresql?
Para ser claro, eu realmente não me importo com o uuid
Você pode obter uma lista usando o
psql
cliente comIsso mostrará todas as conversões definidas entre os tipos de dados do sistema.
Além disso, todos os tipos podem ser convertidos de e para
text
o uso das funções de entrada e saída de tipo.Como complemento ao post de Laurenz ...
Dos documentos :
\set ECHO_HIDDEN on
revela\dCS+
estar em execução......o que nos aponta para algumas páginas de documentos mais interessantes.
pg_cast
- a tabela do sistema base listando os moldes permitidospg_type
- a referência da tabela do sistema base para tipos de dadosformat_type()
- uma função embelezadora parapg_type
. Útil no mapeamento de nomes próprios para aliases, conforme visto na tabela de referência de tipos de dados