Add erpdbcopy user (superuser) to do SQL privilegies

This commit is contained in:
resteve 2013-04-09 14:40:44 +02:00
parent 59814b3c4c
commit 1cd242f601
3 changed files with 20 additions and 0 deletions

View File

@ -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

11
README
View File

@ -8,6 +8,17 @@ Installing
See INSTALL
Configuration
-------------
Create a user in your postgres:
* Name: erpdbcopy
* Password: erpdbcopy
* Superuser: Yes
See INSTALL
Package Contents
----------------

View File

@ -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()