Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Funzioni e Operatori > Funzioni e operatori di data/orario
PrecedenteFunzioni di formattazione dei tipi di datoFunzioni di supporto per enumSuccessivo

9.9. Funzioni e operatori di data/orario

La Tabella 9.27, «Funzioni di data/orario » mostra le funzioni disponibili per l'elaborazione dei valori data/orario, con i dettagli che compaiono nelle sottosezioni successive. La Tabella 9.26, «Operatori di data/orario» illustra il comportamento degli operatori aritmetici di base (+, *, ecc.). Per le funzioni di formattazione, consultare Sezione 9.8, «Funzioni di formattazione dei tipi di dato». Dovreste avere familiarità con le informazioni di base sui tipi dati data/orario fornite da Sezione 8.5, «Tipi di Data/Orario».

Tutte le funzioni e gli operatori descritti in seguito che prendono l'input da time o timestamp, attualmente lo prendono in due varianti: una che prende time with time zone o timestamp with time zone, e l'altra che prende time without time zone o timestamp without time zone. Per brevità, queste varianti non vengono mostrate separatamente. Inoltre, gli operatori + e * si esprimono in coppie commutative (per esempio sia data + intero che intero + data); Verrà mostrato solo uno di ciascuna coppia.

Tabella 9.26. Operatori di data/orario

OperatoreEsempioRisultato
+ date '2001-09-28' + integer '7'date '2001-10-05'
+ date '2001-09-28' + interval '1 hour'timestamp '2001-09-28 01:00:00'
+ date '2001-09-28' + time '03:00'timestamp '2001-09-28 03:00:00'
+ interval '1 day' + interval '1 hour'interval '1 day 01:00:00'
+ timestamp '2001-09-28 01:00' + interval '23 hours'timestamp '2001-09-29 00:00:00'
+ time '01:00' + interval '3 hours'time '04:00:00'
- - interval '23 hours'interval '-23:00:00'
- date '2001-10-01' - date '2001-09-28'integer '3' (days)
- date '2001-10-01' - integer '7'date '2001-09-24'
- date '2001-09-28' - interval '1 hour'timestamp '2001-09-27 23:00:00'
- time '05:00' - time '03:00'interval '02:00:00'
- time '05:00' - interval '2 hours'time '03:00:00'
- timestamp '2001-09-28 23:00' - interval '23 hours'timestamp '2001-09-28 00:00:00'
- interval '1 day' - interval '1 hour'interval '1 day -01:00:00'
- timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00'interval '1 day 15:00:00'
* 900 * interval '1 second'interval '00:15:00'
* 21 * interval '1 day'interval '21 days'
* double precision '3.5' * interval '1 hour'interval '03:30:00'
/ interval '1 hour' / double precision '1.5'interval '00:40:00'

Tabella 9.27. Funzioni di data/orario

FunczioneTipo di ritornoDescrizioneEsempioRisultato
age(timestamp, timestamp)intervalSottrae gli argomenti, producendo un risultato «simbolico» che usa anni e mesiage(timestamp '2001-04-10', timestamp '1957-06-13')43 years 9 mons 27 days
age(timestamp)intervalSottrae da current_date (alla mezzanotte)age(timestamp '1957-06-13')43 years 8 mons 3 days
clock_timestamp()timestamp with time zoneCurrent date and time (changes during statement execution); see Sezione 9.9.4, «Data/orario corrente»   
current_datedateLa data corrente; Vedere Sezione 9.9.4, «Data/orario corrente»   
current_timetime with time zoneL'ora attuale del giorno; Vedere Sezione 9.9.4, «Data/orario corrente»   
current_timestamptimestamp with time zoneData e orario corrente (all'inizio della transazione corrente); Vedere Sezione 9.9.4, «Data/orario corrente»   
date_part(text, timestamp)double precisionOttiene un sottocampo (equivalente a extract); Vedere Sezione 9.9.1, «Funzioni EXTRACT e date_part» date_part('hour', timestamp '2001-02-16 20:38:40')20
date_part(text, interval)double precisionOttiene un sottocampo (equivalente a extract); Vedere Sezione 9.9.1, «Funzioni EXTRACT e date_part» date_part('month', interval '2 years 3 months')3
date_trunc(text, timestamp)timestampTronca con la precisione specificata; Vedere anche Sezione 9.9.2, «Funzione date_trunc» date_trunc('hour', timestamp '2001-02-16 20:38:40')2001-02-16 20:00:00
extract(field from timestamp)double precisionOttiene un sottocampo; Vedere Sezione 9.9.1, «Funzioni EXTRACT e date_part» extract(hour from timestamp '2001-02-16 20:38:40')20
extract(field from interval)double precisionOttiene un sottocampo; Vedere Sezione 9.9.1, «Funzioni EXTRACT e date_part» extract(month from interval '2 years 3 months')3
isfinite(date)booleanTest per date finite (non +/-infinito)isfinite(date '2001-02-16')true
isfinite(timestamp)booleanTest per timestamp finiti (non +/-infinito)isfinite(timestamp '2001-02-16 21:28:30')true
isfinite(interval)booleanTest per intervalli finitiisfinite(interval '4 hours')true
justify_days(interval)intervalAggiusta l'intervallo per rappresentare periodi di 30 giorni come mesijustify_days(interval '35 days')1 mon 5 days
justify_hours(interval)intervalAggiusta l'intervallo per rappresentare periodi di 24 ore come giornijustify_hours(interval '27 hours')1 day 03:00:00
justify_interval(interval)intervalAggiusta l'intervallo usando justify_days e justify_hours, con aggiustamenti addizionali di segnojustify_interval(interval '1 mon -1 hour')29 days 23:00:00
localtimetimeOrario del giorno corrente; Vedere Sezione 9.9.4, «Data/orario corrente»   
localtimestamptimestampData e ora corrente (all'inizio dell'attuale transazione); Vedere Sezione 9.9.4, «Data/orario corrente»   
now()timestamp with time zoneData e ora corrente (all'inizio dell'attuale transazione); Vedere Sezione 9.9.4, «Data/orario corrente»   
statement_timestamp()timestamp with time zoneData e ora corrente (all'inizio dell'attuale transazione); Vedere Sezione 9.9.4, «Data/orario corrente»   
timeofday()textData e ora corrente (simile a clock_timestamp, ma come stringhe text); Vedere Sezione 9.9.4, «Data/orario corrente»   
transaction_timestamp()timestamp with time zoneData e ora corrente (all'inizio dell'attuale transazione); Vedere Sezione 9.9.4, «Data/orario corrente»   

In aggiunta a queste funzioni, è supportato l'operatore SQL OVERLAPS:

(start1, end1) OVERLAPS (start2, end2)
(start1, length1) OVERLAPS (start2, length2)

L'espressione restituisce true quando due periodi di tempo (definiti dai loro punti finali) si sovrappongono, false quando non lo fanno. I punti finali possono essere specificati come coppie di date, orari, o timestamp; O come una data, orario, o timestamp seguito da un intervallo. Quando viene fornita una coppia di valori, sia l'inizio che la fine può essere scritta per prima; OVERLAPS automaticamente prende il valore anteriore della coppia come inizio. Ogni periodo di tempo è considerato rappresentare l'intervallo mezzo aperto start <= time < end, a meno che start e end siano uguali, nel qual caso rappresenta quel singolo istante. Questo significa per esempio che due periodi di tempo con solo un punto finale in comune non si sovrappongono.

SELECT (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS
       (DATE '2001-10-30', DATE '2002-10-30');
Result: true
SELECT (DATE '2001-02-16', INTERVAL '100 days') OVERLAPS
       (DATE '2001-10-30', DATE '2002-10-30');
Result: false
SELECT (DATE '2001-10-29', DATE '2001-10-30') OVERLAPS
       (DATE '2001-10-30', DATE '2001-10-31');
Result: false
SELECT (DATE '2001-10-30', DATE '2001-10-30') OVERLAPS
       (DATE '2001-10-30', DATE '2001-10-31');
Result: true
[Nota]

Nota

Nota per il revisore: TODO

Across daylight saving time changes (with the session time zone set to a time zone that recognizes DST), this means interval '1 day' does not necessarily equal interval '24 hours'. For example, with the session time zone set to CST7CDT, timestamp with time zone '2005-04-02 12:00-07' + interval '1 day' will produce timestamp with time zone '2005-04-03 12:00-06', while adding interval '24 hours' to the same initial timestamp with time zone produces timestamp with time zone '2005-04-03 13:00-06', as there is a change in daylight saving time at 2005-04-03 02:00 in time zone CST7CDT.

Notare che ci può essere ambiguità nei mesi ritornati da age dato che i mesi hanno un numero differente di giorni. L'approccio di PostgreSQL™ usa il mese della data che viene prima delle due, quando calcola i mesi parziali. Per esempio, age('2004-06-01', '2004-04-30') usa Aprile per produrre 1 mon 1 day, mentre usare Maggio produrrebbe 1 mon 2 days dato che Maggio ha 31 giorni, mentre Aprile ne ha solo 30.

9.9.1. Funzioni EXTRACT e date_part

EXTRACT(field FROM source)

La funzione extract estrae sottocampi quali l'anno o l'ora dai valori data/orario. source deve essere una espressione di un valore di tipo timestamp, time, o interval. (Le espressioni di tipo date sono convertite in timestamp e quindi possono essere usate), field è un identificatore o una stringa che seleziona quale campo estrarre dal valore sorgente. La funzione extract restituisce valori di tipo double precision. I seguenti sono nomi di campo validi:

century

The century

SELECT EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13');
Risultato: 20
SELECT EXTRACT(CENTURY FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 21

Il primo secolo inizia il 0001-01-01 00:00:00 DC, anche se a quel tempo non era riconosciuto. Questa definizone si applica in tutti i paesi che utilizzano il calendario Gregoriano. Non esiste il secolo numero 0, si va da -1 a 1. Se non si condivide questo, scrivere il proprio reclamo a: Papa, Cattedrale di San Pietro di Roma, Vaticano.

Le versioni di PostgreSQL™ precedenti all'8.0 non seguivano la numerazione dei secoli convenzionale, ma restituivano solo il campo anno diviso 100.

day

Il campo giorno (del mese) (1 - 31)

SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 16
decade

Il campo anno diviso per 10

SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 200
dow

Il giorno della settimana dalla Domenica(0) al Sabato(6)

SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 5

Notare che la numerazione dei giorni della settimana di extract è diversa da quella della funzione to_char(..., 'D').

doy

Il giorno dell'anno (1 - 365/366)

SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 47
epoch

Per i valori date e timestamp, il numero di secondi a partire dal 1970-01-01 00:00:00-00 (può essere negativo); per i valori interval, il numero totale di secondi nell'intervallo.

SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40.12-08');
Result: 982384720.12

SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');
Result: 442800

Questo è il modo per convertire un valore epoch in un timestamp:

SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second';

(La funzione to_timestamp incapsula tale conversione).

hour

Il campo ora (0 - 23)

SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 20
isodow

Il giorno della settimana dal Lunedì(1) alla Domenica(7)

SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40');
Risultato: 7

Questo è identico a dow eccetto per la Domenica. Esso segue la numerazione dei giorni della settimana ISO 8601.

isoyear

The ISO 8601 year that the date falls in (not applicable to intervals) L'anno ISO 8601 in cui cade la data (non applicabile agli intervalli).

SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');
Risultato: 2005
SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02');
Risultato: 2006

Ogni anno ISO comincia con il lunedì della settimana contenente il 4 di gennaio, per cui all'inizio di Gennaio o alla fine di Dicembre l'anno ISO può essere diverso dall'anno Gregoriano. Vedere il campo week per ulteriori informazioni.

Questo campo non è disponibile nelle versioni di PostgreSQL precedenti alla 8.3.

microseconds

Il campo secondi, compresa la parte frazionale, moltiplicato per 1 000 000. Notare che questo comprende i secondi completi.

SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');
Risultato: 28500000
millennium

Il millennio

SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 3

Gli anni compresi nel 1900 sono relativi al secondo millennio. Il terzo millennio inizia l' 1 gennaio, 2001.

Le versioni di PostgreSQL™ precedenti all'8.0 non seguono la numerazione convenzionale dei millenni, ma restituiscono il campo anno diviso 1000.

milliseconds

Il campo secondi, compresa la parte frazionale, moltiplicato per 1000. Notare che questo comprende i secondi completi.

SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');
Risultato: 28500
minute

Il campo dei minuti (0 - 59)

SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 38
month

Per valori timestamp, il numero di mesi compresi nell'anno (1 - 12) ; per valori interval il numero dei mesi, modulo 12 (0 - 11)

SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 2

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');
Risultato: 3

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');
Risultato: 1
quarter

Il quarto di anno (trimestre) (1 - 4) nel quale è compreso il giorno

SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 1
second

Il campo secondi, comprese la parti frazionarie (0 - 59[6])

SELECT EXTRACT(SECOND FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 40

SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');
Risultato: 28.5
timezone

Lo scostamento dal fuso orario UTC, misurato in secondi. I valori positivi corrispondono ai fusi orari ad est di UTC, i valori negativi ai fusi ad ovest di UTC.

timezone_hour

La componente oraria dello scostamento dal fuso orario

timezone_minute

La componente minuto dello scostamento dal fuso orario

week

Il numero della settimana dell'anno in cui cade il giorno. Per definizione (ISO 8601), la prima settimana di un anno contiene il 4 Gennaio di quell'anno. (La settimana ISO-8601 inizia il lunedì). In altri termini, il primo giovedi di un anno è nella settimana 1 di quell'anno.

Per questo motivo, è possibile che le date di inizio gennaio facciano parte della 52esima o 53esima settimana dell'anno precedente. Per esempio, 2005-01-01 fa parte della 53esima settimana dell'anno 2004, e 2006-01-01 fa parte della 52esima settimana dell'anno 2005.

SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 7
year

Il campo anno. Ricordarsi che non esiste 0 DC, per cui le sottrazioni degli anni DC dagli anni AC dovranno essere fatte con attenzione.

SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');
Risultato: 2001

La funzione extract è destinata principalmente ai processi di calcolo. Per la formattazione dei valori data/orario da visualizzare, consultare Sezione 9.8, «Funzioni di formattazione dei tipi di dato».

La funzione date_part è modellata sulla funzione tradizionle di Ingres™ equivalente alla funzione extract di SQL standard:

date_part('field', source)

Notare che qui il parametro field dovrà necessariamente essere un valore stringa, non un nome. I nomi di campo validi per date_part sono gli stessi utilizzati per extract.

SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40');
Risultato: 16

SELECT date_part('hour', INTERVAL '4 hours 3 minutes');
Risultato: 4

9.9.2. Funzione date_trunc

La funzione date_trunc è concettualmente simile alla funzione trunc per i numeri.

date_trunc('field', source)

source è un valore di tipo timestamp o interval. (i valori di tipo date e time vengono convertiti automaticamente a timestamp o interval rispettivamente). field seleziona con quale precisione troncare il valore in input. Il valore restituito è di tipo timestamp o interval con tutti i campi meno significativi di quello selezionato impostati a zero (o uno, per il giorno ed il mese).

Valori validi di field sono:

microseconds
milliseconds
second
minute
hour
day
week
month
quarter
year
decade
century
millennium

Esempi:

SELECT date_trunc('hour', TIMESTAMP '2001-02-16 20:38:40');
Risultato: 2001-02-16 20:00:00

SELECT date_trunc('year', TIMESTAMP '2001-02-16 20:38:40');
Risultato: 2001-01-01 00:00:00

9.9.3. AT TIME ZONE

Il costrutto AT TIME ZONE consente conversioni di timestamp per fusi orari diversi. La Tabella 9.28, «Varianti di AT TIME ZONE» mostra le sue diverse varianti.

Tabella 9.28. Varianti di AT TIME ZONE

EspressioneTipo di ritornoDescrizione
timestamp without time zone AT TIME ZONE timezone timestamp with time zoneTratta il time stamp senza fuso orario fornito come localizzato nel fuso orario specificato
timestamp with time zone AT TIME ZONE timezone timestamp without time zoneConverte il time stamp con fuso orario fornito al nuovo fuso orario
time with time zone AT TIME ZONE timezone time with time zoneConverte il time con fuso orario fornito al nuovo fuso orario

In queste espressioni, la zona di fuso orario desiderato può essere specificato indifferentemente come una stringa di testo (per es., 'PST') o come un intervallo (per es., INTERVAL '-08:00'). Nel caso del testo, un nome di fuso orario può essere specificato in ognuno dei modi descritti dentro Sezione 8.5.3, «Fusi OrarioTime Zones».

Esempi (supponendo che il fuso orario locale è PST8PDT):

SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';
Risultato: 2001-02-16 19:38:40-08

SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';
Risultato: 2001-02-16 18:38:40

Il primo esempio prende un timestamp senza fuso orario e lo interpreta come tempo MST (UTC-7), che viene poi convertito in PST (UTC-8) per la visualizzazione. Il secondo esempio prende un timestamp specificato in EST (UTC-5) e lo converte nel tempo locale in MST (UTC-7).

La funzione timezone(zone, timestamp) è equivalente al costrutto conforme-SQL timestamp AT TIME ZONE zone

9.9.4. Data/orario corrente

PostgreSQL™ fornisce un certo numero di funzioni che restituiscono valori relativi alla data e all'orario corrente. Tutte queste funzioni standard SQL restituiscono valori basati sul momento di inizio della transazione corrente:

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME(precision)
CURRENT_TIMESTAMP(precision)
LOCALTIME
LOCALTIMESTAMP
LOCALTIME(precision)
LOCALTIMESTAMP(precision)

CURRENT_TIME e CURRENT_TIMESTAMP forniscono valori con fuso orario; LOCALTIME e LOCALTIMESTAMP forniscono valori senza fuso orario.

CURRENT_TIME, CURRENT_TIMESTAMP, LOCALTIME, e LOCALTIMESTAMP Possono opzionalmente essere forniti di un parametro precisione, che causa l'arrotondamento del risultato a quelle cifre decimali del campo dei secondi. Senza un parametro di precisione, il risultato è dato alla piena precisione disponibile

Alcuni esempi:

SELECT CURRENT_TIME;
Risultato: 14:39:53.662522-05

SELECT CURRENT_DATE;
Risultato: 2001-12-23

SELECT CURRENT_TIMESTAMP;
Risultato: 2001-12-23 14:39:53.662522-05

SELECT CURRENT_TIMESTAMP(2);
Risultato: 2001-12-23 14:39:53.66-05

SELECT LOCALTIMESTAMP;
Risultato: 2001-12-23 14:39:53.662522

Poichè queste funzioni restituiscono il momento di inizio della transazione corrente, il loro valore non cambia nel corso della transazione. Ciò viene considerato una caratteristica: l'intento è di consentire ad una singola transazione di avere una consistente nozione del tempo «corrente», in modo che modifiche multiple all'interno della stessa transazione generano lo stesso timestamp.

[Nota]

Nota

Altri sistemi di database potrebbero incrementare questo valore più frequentemente.

PostgreSQL™ fornisce anche funzioni che restituiscono il tempo di inizio dell'istruzione corrente, come pure l'orario corrente effettivo al momento in cui viene chiamata la funzione. L'elenco completo delle funzioni non standard-SQL relative al tempo è:

transaction_timestamp()
statement_timestamp()
clock_timestamp()
timeofday()
now()

La funzione now() è tradizionale di PostgreSQL™ ed è equivalente a CURRENT_TIMESTAMP. La funzione transaction_timestamp() è anch'essa equivalente a CURRENT_TIMESTAMP, ma viene chiamata per specificare chiaramente cosa restituisce. La funzione statement_timestamp() restituisce il tempo di inizio dell'istruzione corrente (più specificatamente, il tempo di ricezione dell'ultimo messaggio di comando dal client). Le funzioni statement_timestamp() e transaction_timestamp() restituiscono lo stesso valore durante il primo comando di una transazione, ma possono differire durante i successivi comandi. La funzione clock_timestamp() restituisce l'orario corrente effettivo, e quindi il suo valore cambia anche all'interno di un solo comando SQL. timeofday() è una storica funzione PostgreSQL™. Come clock_timestamp(), essa restituisce l'orario corrente effettivo, ma come una stringa di tipo text formattata invece di un valore timestamp with time zone. now() è una funzione tradizionale di PostgreSQL™ equivalente a transaction_timestamp().

Tutti i tipi di dato "date/time" accettano anche lo speciale valore letterale now per specificare la data e l'orario corrente (anch'esso, interpretato come tempo di inizio della transazione). Per cui, le seguenti tre istruzioni restituiscono tutte lo stesso risultato:

SELECT CURRENT_TIMESTAMP;
SELECT now();
SELECT TIMESTAMP 'now';  -- errato per utilizzo con DEFAULT

[Suggerimento]

Suggerimento

Non bisogna utilizzare la terza forma quando si specifica una clausula DEFAULT nella creazione di una tabella. Il sistema convertirà now in timestamp appena la costante viene analizzata, per cui quando si avrà bisogno del valore di default, verrà usato il momento di creazione della tabella! Le prime due forme non verranno valutate fino a che non viene usato il valore di default, perchè sono delle chiamate di funzione. Per cui forniranno il comportamento desiderato, cioè acquisire come default il momento di inserimento della riga.

9.9.5. Ritardare l'esecuzione

Le seguenti funzioni sono disponibili per ritardare l'esecuzione del processo server:

pg_sleep(seconds)

pg_sleep rende dormiente il processo della sessione corrente, fino a che non viene raggiunto il numero di secondi contenuto nel parametro seconds. Il parametro seconds è un valore di tipo double precision, per cui possono essere specificati ritardi di frazioni di secondo. Per esempio:

SELECT pg_sleep(1.5);

[Nota]

Nota

La risoluzione effettiva dell'intervallo di sleep è specifico alla piattaforma; un valore comune è 0.01 secondi. Il ritardo di dormienza sarà lungo almeno come specificato. Potrebbe essere più lungo, in dipendenza di fattori come il carico del server.

[Avvertimento]

Avvertimento

Assicurarsi che la propria sessione non abbia più lock del necessario quando si chiama pg_sleep. Altrimenti altre sessioni potrebbero dover attendere per quel processo dormiente, rallentando l'intero sistema.



[6] 60 se i secondi sono implementati dal sistema operativo

Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Funzioni e Operatori > Funzioni e operatori di data/orario
PrecedenteFunzioni di formattazione dei tipi di datoFunzioni di supporto per enumSuccessivo