Commit Graph

50 Commits

Author SHA1 Message Date
89602d1614 pass all existing tests (and formatting) 2023-06-16 15:14:00 +05:30
8389851f2f fix bug where port becomes truthy when none is converted to str 2023-06-15 23:34:50 +05:30
b7423c488e refactor password assignment logic 2023-06-15 22:54:06 +05:30
205e5b1524 mysql support 2023-06-15 01:47:46 +05:30
67f4d43aec witten review 2023-06-15 01:37:18 +05:30
230cf6adc4 support command line args for hostname port username password 2023-06-14 00:11:19 +05:30
8e8e64d920 add no-owner and refactor 2023-06-13 23:42:50 +05:30
f558cb3156 feat: allow restoring to different port/host/username 2023-06-12 21:54:39 +05:30
5962fd473e Another try. Backing out psql error changes (#678).
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-21 10:34:50 -07:00
da0f5a34f2 Fix multiple bugs in PostgreSQL hook (#678).
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #677
2023-04-21 04:05:22 +00:00
5dbb71709c Upgrade test requirements and code style requirements. Auto-reformat code accordingly.
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-14 19:35:24 -07:00
f273e82d74 add tests 2023-04-15 02:57:51 +05:30
17f122bfe5 Use psql instead of pg_restore when format is "plain"
pg_restore: error: input file appears to be a text format dump. Please use psql.
2023-04-14 17:38:19 +02:00
f0f43174c6 Swap if-else in restore_database_dump in postgresql hook for cleanliness 2023-04-14 17:38:19 +02:00
dfccc1b94a Exit on error when restoring all PostgreSQL databases
"--set ON_ERROR_STOP=on" is equivalent to "--exit-on-error" in
pg_restore.
2023-04-14 17:38:18 +02:00
195024e505 Fix psql_command and pg_restore_command to accept command with arguments
These commands are executed without `shell=True`, so the subprocess
module treats e.g. "docker exec my_pg_container psql" as a single command
(resulting in Errno 2 "No such file or directory") instead of a command
with arguments.
2023-04-14 17:37:38 +02:00
19a00371f5 Run "psql" with "--no-psqlrc"
Some settings in user's .psqlrc, e.g. "linestyle unicode", may break the
CSV output. "--no-psqlrc" tells psql to not read startup file.

This is not necessary for the analyze_command and restore_command (with
all_databases), but it's generally recommended when running psql from a
script.
2023-04-14 17:37:37 +02:00
874fba7672 Fix PostgreSQL hook not using "psql_command" for list when dumping "all" 2023-04-14 15:13:49 +02:00
264cebd2b1 complete psql multi schema backup 2023-04-11 23:19:49 +05:30
9bc2322f9a feat: restore specific schemas 2023-04-06 02:10:36 +05:30
f42890430c Add code style plugins to enforce use of Python f-strings and prevent single-letter variables.
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-23 23:11:14 -07:00
da321e180d Fix the "create" action with the "--dry-run" flag querying for databases when a PostgreSQL/MySQL "all" database is configured.
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-26 22:15:12 -08:00
f5a448c7c2 Fix for potential data loss (data not getting backed up) when dumping large "directory" format PostgreSQL/MongoDB databases (#643).
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-20 15:18:51 -08:00
30cca62d09 Add configuration options for database command customization (#630).
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-26 14:59:17 -08:00
0e6b2c6773 Optionally dump "all" PostgreSQL databases to separate files instead of one combined dump file (#438, #560).
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-25 23:31:07 -08:00
f67c544be6 Optionally dump "all" PostgreSQL databases to separate files instead of one combined dump file (#438, #560).
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-15 22:59:42 -08:00
fd39f54df7 Code formatting.
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-18 08:35:01 -08:00
Javier Paniagua
faf682ca35 specify pg dump/restore commands (#311) 2022-11-06 11:12:53 +01:00
e85d551eac Fix all database hooks to error when the requested database to restore isn't present in the Borg archive (#560).
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-06 23:21:24 -07:00
a16fed8887 Rename PostgreSQL SSL config variables
e.g. s/sslmode/ssl_mode/g to conform with borgmatic naming conventions.
2020-06-19 13:20:14 +03:00
33113890f5 Reduce duplication with a common function 2020-06-19 12:32:36 +03:00
abd47fc14e Add SSL support to PostgreSQL hooks 2020-06-19 02:19:17 +03:00
d7277893fb Fix hang when a stale database dump named pipe from an aborted borgmatic run remains on disk (#316).
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-02 12:40:32 -07:00
89cb5eb76d Fix regression in support for PostgreSQL's "directory" dump format (#314).
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-18 11:31:29 -07:00
d88f321cef Fix legitimate database dump command errors (exit code 1) not being treated as errors by borgmatic (#310).
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 22:38:38 -07:00
4b523f9e2c Make database restore output only show at verbosity 2.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-08 19:38:33 -07:00
6a61070d85 Use shell redirection rather than the --file flag to sidestep synchronization issues when pg_dump/pg_dumpall tries to write to a named pipe.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-08 19:11:26 -07:00
1ba996ad93 Additional test coverage.
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2020-05-07 12:14:27 -07:00
a23fdf946d Stream database dumps and restores directly to/from Borg without using any additional filesystem space (#258).
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2020-05-07 11:44:04 -07:00
Nathan Beals
3c8dc4929f Added test_restore_all_database_dump unit test.
Updated the other unit tests, as I had to re-arrange argument order
Added an 'all' test for the postgres end-to-end test.

Ran black formatter on it all.
2020-04-24 18:32:53 -04:00
Nathan Beals
f6407bafcb Remove the --create flag, was causing an error 2020-04-10 11:24:13 -04:00
Nathan Beals
d5e9f67cec Finished. Now uses 'psql' to run the plain-text scripts that pg_dumpall creates 2020-04-10 10:55:53 -04:00
Nathan Beals
b14f371c05 First attempt at fixing this pg_dumpall/restoring issue 2020-04-10 09:20:00 -04:00
8660af745e Optionally change the internal database dump path via "borgmatic_source_directory" option in location configuration section (#259).
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-10 16:04:34 -08:00
ded042d8cc First crack at MySQL/MariaDB database restore (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-11 21:59:30 -08:00
9d29ecf304 Remove MySQL/MariaDB database dumps after backing them up (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-08 11:53:27 -08:00
427b57e2a9 Database dump hooks for MySQL/MariaDB (#228).
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-08 11:17:52 -08:00
939f4d4e3d Add additional tests for database restores.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-31 14:11:19 -07:00
3006db0cae Restore backed up PostgreSQL databases via "borgmatic restore" sub-command (#229).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-31 12:57:36 -07:00
458e7776c5 Database dump hooks for PostgreSQL, so you can easily dump your databases before backups run (#225).
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-22 16:28:42 -07:00