A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/orgrim/pg_back/issues/146 below:

Proposal to define a single datetime to be used in all filenames across a snapshot · Issue #146 · orgrim/pg_back · GitHub

Hello,

I'm writing scripts to automate some PostgreSQL database restore tasks based on pg_back.
Here's what my process roughly looks like.

I've implemented a script that lists the snapshots present on Object Storage:

$ ./scripts/list_postgresql_dump_backup_snapshots.sh
myproject 2025-04-15T14:34:02Z
myproject 2025-04-15T16:47:46Z
otherproject 2025-04-15T14:44:46Z
foobar 2025-04-15T14:45:50Z
...

I then have another script that restores a specific instance of PostgreSQL:

$ ./scripts/restore_myproject_postgres.sh "2025-04-17T08:05:07Z"

However, I'm encountering a problem, the dates of a "snapshot" may be different:

$ tree
/var/backups/postgresql/
└── myproject
 ├── hba_file_2025-04-17T08:05:07Z.out
 ├── hba_file_2025-04-17T08:05:07Z.out.age
 ├── ident_file_2025-04-17T08:05:07Z.out
 ├── ident_file_2025-04-17T08:05:07Z.out.age
 ├── pg_globals_2025-04-17T08:05:07Z.sql
 ├── pg_globals_2025-04-17T08:05:07Z.sql.age
 ├── pg_settings_2025-04-17T08:05:07Z.out
 ├── pg_settings_2025-04-17T08:05:07Z.out.age
 ├── postgres_2025-04-17T08:05:08Z.dump
 └── postgres_2025-04-17T08:05:08Z.dump.age

In this example, 2025-04-17T08:05:07Z is different from 2025-04-17T08:05:08Z.

Why this difference? Because the following functions execute time.Now() independently:

Potentially, all files can have a different datetime.

What I propose in this issue is to generate a datetime with time.Now() at the start of the run function and then use this value in the dump, dumpGlobals, dumpSettings and dumpConfigFiles functions.

Tradeoff: the datetime indicated in the postgres_....dump file name would no longer be the precise date when pg_dump was started. I don't think this is very important.

What do you think?

I'm thinking of submitting a Pull Request later today.

Best regards,
Stéphane


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4