diff --git a/rattail_fabric/postgresql.py b/rattail_fabric/postgresql.py index 3aae1e1..2fee05f 100644 --- a/rattail_fabric/postgresql.py +++ b/rattail_fabric/postgresql.py @@ -143,7 +143,7 @@ def drop_db(name, checkfirst=True): sudo('sudo -u postgres dropdb {0}'.format(name), shell=False) -def download_db(name, destination=None): +def download_db(name, destination=None, port=None): """ Download a database from the "current" server. """ @@ -151,7 +151,10 @@ def download_db(name, destination=None): destination = './{0}.sql.gz'.format(name) run('touch {0}.sql'.format(name)) run('chmod 0666 {0}.sql'.format(name)) - sudo('sudo -u postgres pg_dump --file={0}.sql {0}'.format(name), shell=False) + sudo('sudo -u postgres pg_dump {port} --file={name}.sql {name}'.format( + name=name, + port='--port={}'.format(port) if port else '', + ), shell=False) run('gzip --force {0}.sql'.format(name)) get('{0}.sql.gz'.format(name), destination) run('rm {0}.sql.gz'.format(name))