add pg_schema to backup config
This commit is contained in:
parent
1eb3dde45b
commit
d7242054ba
4 changed files with 9 additions and 2 deletions
|
@ -54,6 +54,7 @@ v 8.0.0 (unreleased)
|
||||||
- Sort users autocomplete lists by user (Allister Antosik)
|
- Sort users autocomplete lists by user (Allister Antosik)
|
||||||
- Webhook for issue now contains repository field (Jungkook Park)
|
- Webhook for issue now contains repository field (Jungkook Park)
|
||||||
- Add ability to add custom text to the help page (Jeroen van Baarsen)
|
- Add ability to add custom text to the help page (Jeroen van Baarsen)
|
||||||
|
- Add pg_schema to backup config
|
||||||
|
|
||||||
v 7.14.3
|
v 7.14.3
|
||||||
- No changes
|
- No changes
|
||||||
|
|
|
@ -306,6 +306,7 @@ production: &base
|
||||||
path: "tmp/backups" # Relative paths are relative to Rails.root (default: tmp/backups/)
|
path: "tmp/backups" # Relative paths are relative to Rails.root (default: tmp/backups/)
|
||||||
# archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
|
# archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
|
||||||
# keep_time: 604800 # default: 0 (forever) (in seconds)
|
# keep_time: 604800 # default: 0 (forever) (in seconds)
|
||||||
|
# pg_schema: public # default: nil, it means that all schemas will be backed up
|
||||||
# upload:
|
# upload:
|
||||||
# # Fog storage connection settings, see http://fog.io/storage/ .
|
# # Fog storage connection settings, see http://fog.io/storage/ .
|
||||||
# connection:
|
# connection:
|
||||||
|
|
|
@ -219,6 +219,7 @@ Settings.gitlab_shell['ssh_path_prefix'] ||= Settings.send(:build_gitlab_shell_s
|
||||||
#
|
#
|
||||||
Settings['backup'] ||= Settingslogic.new({})
|
Settings['backup'] ||= Settingslogic.new({})
|
||||||
Settings.backup['keep_time'] ||= 0
|
Settings.backup['keep_time'] ||= 0
|
||||||
|
Settings.backup['pg_schema'] = nil
|
||||||
Settings.backup['path'] = File.expand_path(Settings.backup['path'] || "tmp/backups/", Rails.root)
|
Settings.backup['path'] = File.expand_path(Settings.backup['path'] || "tmp/backups/", Rails.root)
|
||||||
Settings.backup['archive_permissions'] ||= 0600
|
Settings.backup['archive_permissions'] ||= 0600
|
||||||
Settings.backup['upload'] ||= Settingslogic.new({ 'remote_directory' => nil, 'connection' => nil })
|
Settings.backup['upload'] ||= Settingslogic.new({ 'remote_directory' => nil, 'connection' => nil })
|
||||||
|
|
|
@ -25,8 +25,12 @@ module Backup
|
||||||
when "postgresql" then
|
when "postgresql" then
|
||||||
$progress.print "Dumping PostgreSQL database #{config['database']} ... "
|
$progress.print "Dumping PostgreSQL database #{config['database']} ... "
|
||||||
pg_env
|
pg_env
|
||||||
# Pass '--clean' to include 'DROP TABLE' statements in the DB dump.
|
pgsql_args = ["--clean"] # Pass '--clean' to include 'DROP TABLE' statements in the DB dump.
|
||||||
system('pg_dump', '--clean', config['database'], out: db_file_name)
|
if Gitlab.config.backup.pg_schema
|
||||||
|
pgsql_args << "-n"
|
||||||
|
pgsql_args << Gitlab.config.backup.pg_schema
|
||||||
|
end
|
||||||
|
system('pg_dump', *pgsql_args, config['database'], out: db_file_name)
|
||||||
end
|
end
|
||||||
report_success(success)
|
report_success(success)
|
||||||
abort 'Backup failed' unless success
|
abort 'Backup failed' unless success
|
||||||
|
|
Loading…
Reference in a new issue