From 1cd242f601d4f917db14fb70bbed83a488311e81 Mon Sep 17 00:00:00 2001 From: resteve Date: Tue, 9 Apr 2013 14:40:44 +0200 Subject: [PATCH] Add erpdbcopy user (superuser) to do SQL privilegies --- CHANGELOG | 1 + README | 11 +++++++++++ bin/erpdbcopy | 8 ++++++++ 3 files changed, 20 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index a31a662..49bde3c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ Version 0.0.2 - 2013-04-09 * Reset db connection by pg_terminate_backend. * Support PSQL < 9.2 and 9.2 * New database is _test (not _copia) +* Add erpdbcopy user (superuser) to do SQL privilegies Version 0.0.1 - 2012-12-21 * Initial release diff --git a/README b/README index b7f89d4..b7bb8cc 100644 --- a/README +++ b/README @@ -8,6 +8,17 @@ Installing See INSTALL +Configuration +------------- + +Create a user in your postgres: + +* Name: erpdbcopy +* Password: erpdbcopy +* Superuser: Yes + +See INSTALL + Package Contents ---------------- diff --git a/bin/erpdbcopy b/bin/erpdbcopy index 448dba5..c8e4ac2 100644 --- a/bin/erpdbcopy +++ b/bin/erpdbcopy @@ -31,20 +31,28 @@ def create_db_copy(user, password, dbname, port=5432): if version < '9.2': process = subprocess.Popen(""" + export PGPASSWORD="erpdbcopy" + psql postgres -U erpdbcopy --quiet -c "alter user %(user)s with superuser" export PGPASSWORD=%(password)s psql %(dbname)s -U %(user)s --quiet -c "select pg_terminate_backend(procpid) from pg_stat_activity where procpid <> pg_backend_pid( ) and datname='%(dbname)s'" psql %(dbname)s_test -U %(user)s --quiet -c "select pg_terminate_backend(procpid) from pg_stat_activity where procpid <> pg_backend_pid( ) and datname='%(dbname)s_test'" dropdb -U %(user)s %(dbname)s_test createdb -U %(user)s -T %(dbname)s %(dbname)s_test -O %(user)s + export PGPASSWORD="erpdbcopy" + psql postgres -U erpdbcopy --quiet -c "alter user %(user)s with nosuperuser" export PGPASSWORD=""" % {'user': user, 'password': password, 'dbname': dbname}, shell=True) process.wait() else: process = subprocess.Popen(""" + export PGPASSWORD="erpdbcopy" + psql postgres -U erpdbcopy --quiet -c "alter user %(user)s with superuser" export PGPASSWORD=%(password)s psql %(dbname)s -U %(user)s --quiet -c "select pg_terminate_backend(pid) from pg_stat_activity where procpid <> pg_backend_pid( ) and datname='%(dbname)s'" psql %(dbname)s_test -U %(user)s --quiet -c "select pg_terminate_backend(pid) from pg_stat_activity where procpid <> pg_backend_pid( ) and datname='%(dbname)s_test'" dropdb -U %(user)s %(dbname)s_test createdb -U %(user)s -T %(dbname)s %(dbname)s_test -O %(user)s + export PGPASSWORD="erpdbcopy" + psql postgres -U erpdbcopy --quiet -c "alter user %(user)s with nosuperuser" export PGPASSWORD=""" % {'user': user, 'password': password, 'dbname': dbname}, shell=True) process.wait()