Re: documenting the backup manifest file format - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: documenting the backup manifest file format
Date
Msg-id 20200414200922.GA20412@alvherre.pgsql
Whole thread Raw
In response to Re: documenting the backup manifest file format  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Responses Re: documenting the backup manifest file format  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
List pgsql-hackers
On 2020-Apr-14, Andrew Dunstan wrote:

> OK, but I think if we're putting a timestamp string in ISO-8601 format
> in the manifest it should be in UTC / Zulu time, precisely to avoid
> these issues. If that's too much trouble then yes an epoch time will
> probably do.

The timestamp is always specified and always UTC (except the code calls
it GMT).

+   /*
+    * Convert last modification time to a string and append it to the
+    * manifest. Since it's not clear what time zone to use and since time
+    * zone definitions can change, possibly causing confusion, use GMT
+    * always.
+    */
+   appendStringInfoString(&buf, "\"Last-Modified\": \"");
+   enlargeStringInfo(&buf, 128);
+   buf.len += pg_strftime(&buf.data[buf.len], 128, "%Y-%m-%d %H:%M:%S %Z",
+                          pg_gmtime(&mtime));
+   appendStringInfoString(&buf, "\"");

I was merely saying that it's trivial to make this iso-8601 compliant as

    buf.len += pg_strftime(&buf.data[buf.len], 128, "%Y-%m-%dT%H:%M:%SZ",

ie. omit the "GMT" string and replace it with a literal Z, and remove
the space and replace it with a T.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: David Steele
Date:
Subject: Re: documenting the backup manifest file format
Next
From: Alvaro Herrera
Date:
Subject: Re: documenting the backup manifest file format