Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL CURRENT_TIMESTAMP

O PostgreSQL fornece várias funções de data para lidar e manipular valores de data e hora. Entre eles, `CURRENT_TIMESTAMP` é usado para obter a data e a hora atuais, com as informações de fuso horário, no momento em que a função é executada.

Uso

A função `CURRENT_TIMESTAMP` é usada quando você precisa capturar o momento exato em que uma operação é executada, como eventos de registro em log ou definição de valores padrão para colunas de carimbo de data/hora.

sql
SELECT CURRENT_TIMESTAMP;

Essa sintaxe recupera a data e a hora atuais, incluindo o fuso horário, no momento em que essa consulta é executada.

Exemplos

1. Recuperação básica do carimbo de data/hora atual

sql
SELECT CURRENT_TIMESTAMP;

Esse comando retorna a data e a hora atuais, incluindo informações de fuso horário, no momento da execução.

2. Inserindo o registro de data e hora atual em uma tabela

sql
INSERT INTO logs (event_description, event_time)
VALUES ('User logged in', CURRENT_TIMESTAMP);

Este exemplo demonstra como você insere o registro de data e hora atual na tabela `logs`, capturando o momento exato em que um evento ocorre.

3. Definição do valor padrão de uma coluna

sql
CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    order_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Aqui, a tabela `orders` é criada com uma coluna `order_time` que armazena automaticamente o carimbo de data/hora atual como seu valor padrão quando um novo registro é inserido.

Dicas e práticas recomendadas

  • Conscientização sobre o fuso horário: Lembre-se de que `CURRENT_TIMESTAMP` retorna a hora com informações de fuso horário, o que é crucial para aplicativos que abrangem vários fusos horários.
  • Usar como padrão: Utilize `CURRENT_TIMESTAMP` como valor padrão para colunas de registro de data e hora para garantir a integridade dos dados e o controle automático de tempo.
  • Evite ligações frequentes: Minimize o número de chamadas `CURRENT_TIMESTAMP` em uma única transação para evitar valores de tempo inconsistentes.
  • Controle de precisão: Se necessário, especifique a precisão com `CURRENT_TIMESTAMP(precision)` para controlar o número de segundos fracionários. Por exemplo:
sql
SELECT CURRENT_TIMESTAMP(2);

Isso recupera o registro de data e hora atual com precisão de até dois segundos fracionários.

Notas adicionais

  • Recurso padrão do SQL: `CURRENT_TIMESTAMP` é um recurso padrão do SQL e não é exclusivo do PostgreSQL. Isso pode ser benéfico para usuários que trabalham com vários sistemas de banco de dados.
  • Comparação com funções semelhantes: Os usuários devem observar que `CURRENT_TIMESTAMP` é semelhante a funções como `NOW()` ou `CURRENT_TIME`, sendo que `NOW()` é um alias para `CURRENT_TIMESTAMP` no PostgreSQL, enquanto `CURRENT_TIME` retorna apenas a hora atual.