PostgreSQL: Tipos de Dados
O PostgreSQL, carinhosamente chamado de postgres, é um dos SGBDs (Sistemas Gerenciadores de Banco de Dados) mais famosos hoje em dia, sendo o SGBD open source mais querido pelos programadores atualmente (segundo minha experiência).
Nesse artigo busco apresentar os tipos de dados mais comuns suportados pelo postgres como ferramenta de consulta rápida e direta para outros desenvolvedores. Sem mais delongas, vamos ao conteúdo
Tipos de Dados
Numéricos
Inclui desde inteiros até números de ponto flutuante
smallint: armazena valores inteiros com sinal, ocupando 2 bytes de tamanhointeger: armazena valores inteiros com sinal, ocupando 4 bytes de tamanhobigint: armazena valores inteiros com sinal, ocupando 8 bytes de tamanhodecimal: armazena valores com muitos dígitos. Geralmente usado para armazenar valores financeiros. O desenvolvedor pode especificar a precisão e a escala para esse tiponumeric: um apelido para o tipo de dadosdecimalreal: armazena valores de ponto flutuante com 4 bytes e precisão de 6 dígitos decimaisdouble precision: armazena valores de ponto flutuante com 8 bytes e precisão de 15 dígitos decimais
Caractere
Usados para lidar com alfanumérico e com textos
char(n): armazena strings de tamanho fixo com um tamanhonespecíficovarchar(n): armazena strings de tamanho variável com com um tamanhonmáximotext: armazena strings de tamanho variável sem tamanho máximo
Binários
Inclui basicamente o tipo de dados Byte
bytea: armazena uma string de binários com tamanho variável, sem tamanho máximo
Data e Tempo
Diversas formas para lidar com datas e tempo
date: armazena datas sem informação de time zone (YYYY-MM-DD)time: armazena valores de tempo sem informação de time zone (HH:MM:SS)timestamp: armazena valores de tempo e de data sem informações de time zonetimestamptz: armazena valores de tempo e de data com informação de time zoneinterval: um intervalo de tempo, como a diferença de dois timestamps
Booleano
Um tipo de dados para lidar com verdadeiro e falso
boolean
Enumerado
Criação de tipos de dados customizados, que consistem de um conjunto de valores ordenado e estático
CREATE TYPE AS ENUM
Exemplo:
CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
Dados Geométricos e de Rede
point,line,lseg,box,polygon,path,circle: armazena pontos, linhas e várias outras formasinet,cidr: armazena endereços IP e subredes
Conclusão
Com esse guia você tem uma referência inicial para conhecer os principais tipos de dados suportados pelo postgres, podendo seguir seus estudos a partir daqui dependendo da sua necessidade.
Esse artigo é um guia rápido para se orientar quando precisar achar um tipo de dados específico;.
Dúvidas, sugestões e correções de conteúdo são sempre muito bem vindas. Espero que você tenha gostado do conteúdo. Espero te ver no meu próximo artigo. Até lá!