B.2. Palavras chave para data e hora

A Tabela B-1 mostra os elementos reconhecidos como nomes dos meses.

Tabela B-1. Nomes dos meses

Nome Abreviatura
January Jan
February Feb
March Mar
April Apr
May  
June Jun
July Jul
August Aug
September Sep, Sept
October Oct
November Nov
December Dec

Nota: O mês de maio (May) não possui abreviatura explícita, por razões óbvias. [1]

A Tabela B-2 mostra os elementos reconhecidos como nomes dos dias da semana.

Tabela B-2. Nomes dos dias da semana

Nome Abreviatura
Sunday Sun
Monday Mon
Tuesday Tue, Tues
Wednesday Wed, Weds
Thursday Thu, Thur, Thurs
Friday Fri
Saturday Sat

A Tabela B-3 mostra os elementos que servem como modificadores para várias finalidades.

Tabela B-3. Modificadores de campo de data e hora

Identificador Descrição
ABSTIME Palavra chave ignorada
AM Hora antes das 12:00
AT Palavra chave ignorada
JULIAN, JD, J O próximo campo é dia Juliano
ON Palavra chave ignorada
PM Hora após ou às 12:00
T O próximo campo é hora

A palavra chave ABSTIME é ignorada por razões históricas; em versões muito antigas do PostgreSQL, valores inválidos do tipo abstime eram informados como Invalid Abstime. Entretanto, este não é mais o caso, e esta palavra chave provavelmente será retirada em uma versão futura.

A Tabela B-4 mostra as abreviaturas de zona horária reconhecidas pelo PostgreSQL nos valores de entrada de data e hora. O PostgreSQL utiliza tabelas internas para decodificar a entrada de zona horária, porque não existe uma interface padrão do sistema operacional para fornecer acesso a informações gerais entre zonas horárias. Entretanto, o sistema operacional é utilizado para fornecer informação de zona horária para a saída.

Também tenha em mente que os nomes das zonas horárias reconhecidos por SET TIMEZONE são dependentes do sistema operacional, podendo ter pouco a ver com a Tabela B-4 . Por exemplo, alguns sistemas reconhecem valores como 'Europe/Rome' em SET TIMEZONE.

A tabela está organizada pelo deslocamento da zona horária com relação à UTC, em vez de alfabeticamente, com a finalidade de facilitar a correspondência entre a utilização local e as abreviaturas reconhecidas nos casos em que forem diferentes.

Tabela B-4. Abreviaturas das zonas horárias

Zona horária Deslocamento da UTC Descrição
NZDT +13:00 New Zealand Daylight-Saving Time
IDLE +12:00 International Date Line, East
NZST +12:00 New Zealand Standard Time
NZT +12:00 New Zealand Time
AESST +11:00 Australia Eastern Summer Standard Time
ACSST +10:30 Central Australia Summer Standard Time
CADT +10:30 Central Australia Daylight-Saving Time
SADT +10:30 South Australian Daylight-Saving Time
AEST +10:00 Australia Eastern Standard Time
EAST +10:00 East Australian Standard Time
GST +10:00 Guam Standard Time, Russia zone 9
LIGT +10:00 Melbourne, Australia
SAST +09:30 South Australia Standard Time
CAST +09:30 Central Australia Standard Time
AWSST +09:00 Australia Western Summer Standard Time
JST +09:00 Japan Standard Time, Russia zone 8
KST +09:00 Korea Standard Time
MHT +09:00 Kwajalein Time
WDT +09:00 West Australian Daylight-Saving Time
MT +08:30 Moluccas Time
AWST +08:00 Australia Western Standard Time
CCT +08:00 China Coastal Time
WADT +08:00 West Australian Daylight-Saving Time
WST +08:00 West Australian Standard Time
JT +07:30 Java Time
ALMST +07:00 Almaty Summer Time
WAST +07:00 West Australian Standard Time
CXT +07:00 Christmas (Island) Time
MMT +06:30 Myanmar Time
ALMT +06:00 Almaty Time
MAWT +06:00 Mawson (Antarctica) Time
IOT +05:00 Indian Chagos Time
MVT +05:00 Maldives Island Time
TFT +05:00 Kerguelen Time
AFT +04:30 Afghanistan Time
EAST +04:00 Antananarivo Summer Time
MUT +04:00 Mauritius Island Time
RET +04:00 Reunion Island Time
SCT +04:00 Mahe Island Time
IRT, IT +03:30 Iran Time
EAT +03:00 Antananarivo, Comoro Time
BT +03:00 Baghdad Time
EETDST +03:00 Eastern Europe Daylight-Saving Time
HMT +03:00 Hellas Mediterranean Time (?)
BDST +02:00 British Double Standard Time
CEST +02:00 Central European Summer Time
CETDST +02:00 Central European Daylight-Saving Time
EET +02:00 Eastern European Time, Russia zone 1
FWT +02:00 French Winter Time
IST +02:00 Israel Standard Time
MEST +02:00 Middle European Summer Time
METDST +02:00 Middle Europe Daylight-Saving Time
SST +02:00 Swedish Summer Time
BST +01:00 British Summer Time
CET +01:00 Central European Time
DNT +01:00 Dansk Normal Tid
FST +01:00 French Summer Time
MET +01:00 Middle European Time
MEWT +01:00 Middle European Winter Time
MEZ +01:00 Mitteleuropäische Zeit
NOR +01:00 Norway Standard Time
SET +01:00 Seychelles Time
SWT +01:00 Swedish Winter Time
WETDST +01:00 Western European Daylight-Saving Time
GMT 00:00 Greenwich Mean Time
UT 00:00 Universal Time
UTC 00:00 Universal Coordinated Time
Z 00:00 Same as UTC
ZULU 00:00 Same as UTC
WET 00:00 Western European Time
WAT -01:00 West Africa Time
FNST -01:00 Fernando de Noronha Summer Time
FNT -02:00 Fernando de Noronha Time
BRST -02:00 Brasilia Summer Time
NDT -02:30 Newfoundland Daylight-Saving Time
ADT -03:00 Atlantic Daylight-Saving Time
AWT -03:00 (unknown)
BRT -03:00 Brasilia Time
NFT -03:30 Newfoundland Standard Time
NST -03:30 Newfoundland Standard Time
AST -04:00 Atlantic Standard Time (Canada)
ACST -04:00 Atlantic/Porto Acre Summer Time
EDT -04:00 Eastern Daylight-Saving Time
ACT -05:00 Atlantic/Porto Acre Standard Time
CDT -05:00 Central Daylight-Saving Time
EST -05:00 Eastern Standard Time
CST -06:00 Central Standard Time
MDT -06:00 Mountain Daylight-Saving Time
MST -07:00 Mountain Standard Time
PDT -07:00 Pacific Daylight-Saving Time
AKDT -08:00 Alaska Daylight-Saving Time
PST -08:00 Pacific Standard Time
YDT -08:00 Yukon Daylight-Saving Time
AKST -09:00 Alaska Standard Time
HDT -09:00 Hawaii/Alaska Daylight-Saving Time
YST -09:00 Yukon Standard Time
MART -09:30 Marquesas Time
AHST -10:00 Alaska/Hawaii Standard Time
HST -10:00 Hawaii Standard Time
CAT -10:00 Central Alaska Time
NT -11:00 Nome Time
IDLW -12:00 International Date Line, West

Zonas horárias da Austrália. Existem três nomes em conflito entre as zonas horárias da Austrália e as zonas horárias utilizadas normalmente na América do Sul e do Norte: ACST, CST e EST. Se a opção em tempo de execução australian_timezones estiver definida como verdade, então ACST, CST, EST e SAT são interpretados como nomes de zona horária da Austrália, conforme mostrado na Tabela B-5 . Se estiver definido como falso (que é o padrão), então ACST, CST e EST são tomados como nomes de zona horária das Américas, e SAT é interpretado como palavra sem efeito indicando Sábado.

Tabela B-5. Abreviaturas das zonas horárias da Austrália

Zona horária Deslocamento da UTC Descrição
ACST +09:30 Central Australia Standard Time
CST +10:30 Australian Central Standard Time
EST +10:00 Australian Eastern Standard Time
SAT +09:30 South Australian Standard Time

Zona horária no Debian (N. do T.). Após instalar o PostgreSQL no Debian, a zona horária era desconhecida:

SELECT current_setting('TimeZone');
current_setting
-----------------
unknown
(1 linha)

Ao tentar especificar BRT como zona horária retornava uma mensagem de erro:

SELECT set_config('TimeZone','BRT',false);
ERROR: unrecognized time zone name: "BRT"

Como o arquivo /etc/timezone da máquina continha America/Sao_Paulo, foi utilizado este valor para especificar a zona horária no lugar de BRT, o que foi aceito pelo PostgreSQL.

SELECT set_config('TimeZone','America/Sao_Paulo',false);
set_config
-------------------
America/Sao_Paulo
(1 linha)

SELECT current_setting('TimeZone');
current_setting
-------------------
America/Sao_Paulo
(1 linha)

SELECT TIMESTAMP '2004-02-19 12:00:00' AT TIME ZONE 'GMT';
timezone
------------------------
2004-02-19 09:00:00-03
(1 linha)

Mas o valor definido desta forma só se mantinha durante a sessão do usuário. Para fazer com que valesse para todas as sessões de todos os usuários foi necessário editar o arquivo postgresql.conf e especificar timezone = 'America/Sao_Paulo'.

Notas

[1]

Razões óbvias somente em inglês, obviamente! (N. do T.)

SourceForge.net Logo