O sistema de Data Juliana é um método para numerar os dias. Não está relacionado com o calendário juliano, embora tenha um nome semelhante a este calendário, causando confusão. O sistema de Data Juliana foi inventado pelo estudioso francês Joseph Justus Scaliger (1540–1609) e, provavelmente, leva o nome do pai de Scaliger, o estudioso italiano Julius Caesar Scaliger (1484–1558).
No sistema de Data Juliana, cada dia tem um número sequencial, começando em JD 0 (que às vezes é chamado de a Data Juliana). JD 0 corresponde a 1º de janeiro de 4713 aC no calendário juliano, ou 24 de novembro de 4714 aC no calendário gregoriano. A contagem da Data Juliana é usada com mais frequência por astrônomos para rotular suas observações noturnas, portanto, uma data vai do meio-dia UTC até o próximo meio-dia UTC, em vez de meia-noite à meia-noite: JD 0 designa às 24 horas do meio-dia UTC de 24 de novembro de 4714 aC ao meio-dia UTC de 25 de novembro de 4714 aC.
Embora o PostgreSQL suporte a notação de Data Juliana para entrada e saída de datas (e também use datas julianas para alguns cálculos internos de data e hora), não observa a peculiaridade de ter datas do meio-dia ao meio-dia. O PostgreSQL trata uma Data Juliana como sendo da meia-noite local à meia-noite local, idêntico a uma data normal.
Esta definição, no entanto, fornece uma maneira de obter a definição
astronômica quando for necessária: basta fazer a aritmética na zona
horária UTC+12. Por exemplo:
SELECT extract(julian from '2021-06-23 7:00:00-04'::timestamptz at time zone 'UTC+12');
extract
------------------------------
2459388.95833333333333333333
(1 linha)
SELECT extract(julian from '2021-06-23 8:00:00-04'::timestamptz at time zone 'UTC+12');
extract
--------------------------------------
2459389.0000000000000000000000000000
(1 linha)
SELECT extract(julian from date '2021-06-23');
extract --------- 2459389 (1 linha)