From 0ea13e88b3709555fb25422783a08c096dd3ff00 Mon Sep 17 00:00:00 2001 From: "Brenda J. Butler" Date: Mon, 2 Jun 2014 14:03:37 -0400 Subject: [PATCH 1/2] add argument for postgresql port in datastore_setup.py --- ckanext/datastore/bin/datastore_setup.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ckanext/datastore/bin/datastore_setup.py b/ckanext/datastore/bin/datastore_setup.py index 3a5564fbb1a..ee29389825a 100644 --- a/ckanext/datastore/bin/datastore_setup.py +++ b/ckanext/datastore/bin/datastore_setup.py @@ -21,15 +21,16 @@ def _run_cmd(command_line, inputstring=''): sys.exit(1) -def _run_sql(sql, as_sql_user, database='postgres'): +def _run_sql(sql, as_sql_user, pgport, database='postgres'): logging.debug("Executing: \n#####\n", sql, "\n####\nOn database:", database) - _run_cmd("sudo -u '{username}' psql --dbname='{database}' --no-password --set ON_ERROR_STOP=1".format( + _run_cmd("sudo -u '{username}' psql -p {pgport} --dbname='{database}' --no-password --set ON_ERROR_STOP=1".format( + pgport=pgport, username=as_sql_user, database=database ), inputstring=sql) -def set_permissions(pguser, ckandb, datastoredb, ckanuser, writeuser, readonlyuser): +def set_permissions(pguser, pgport, ckandb, datastoredb, ckanuser, writeuser, readonlyuser): __dir__ = os.path.dirname(os.path.abspath(__file__)) filepath = os.path.join(__dir__, 'set_permissions.sql') with open(filepath) as f: @@ -44,6 +45,7 @@ def set_permissions(pguser, ckandb, datastoredb, ckanuser, writeuser, readonlyus _run_sql(sql, as_sql_user=pguser, + pgport=pgport, database=datastoredb) @@ -53,6 +55,8 @@ def set_permissions(pguser, ckandb, datastoredb, ckanuser, writeuser, readonlyus description='Set the permissions on the CKAN datastore. ', epilog='"The ships hung in the sky in much the same way that bricks don\'t."') + argparser.add_argument('-P', '--pg_port', dest='pgport', default='5432', type=str, + help="the postgres port") argparser.add_argument('-p', '--pg_super_user', dest='pguser', default='postgres', type=str, help="the postgres super user") @@ -71,6 +75,7 @@ def set_permissions(pguser, ckandb, datastoredb, ckanuser, writeuser, readonlyus set_permissions( pguser=args.pguser, + pgport=args.pgport, ckandb=args.ckandb, datastoredb=args.datastoredb, ckanuser=args.ckanuser, From 3b1062632c89ddec13e87bcd7203e63156262ca3 Mon Sep 17 00:00:00 2001 From: David Read Date: Tue, 3 Jun 2014 15:23:10 +0000 Subject: [PATCH 2/2] [#1738] Cover the case when calling via paster. --- ckanext/datastore/bin/datastore_setup.py | 2 +- ckanext/datastore/commands.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ckanext/datastore/bin/datastore_setup.py b/ckanext/datastore/bin/datastore_setup.py index ee29389825a..d27af1cba70 100644 --- a/ckanext/datastore/bin/datastore_setup.py +++ b/ckanext/datastore/bin/datastore_setup.py @@ -24,7 +24,7 @@ def _run_cmd(command_line, inputstring=''): def _run_sql(sql, as_sql_user, pgport, database='postgres'): logging.debug("Executing: \n#####\n", sql, "\n####\nOn database:", database) _run_cmd("sudo -u '{username}' psql -p {pgport} --dbname='{database}' --no-password --set ON_ERROR_STOP=1".format( - pgport=pgport, + pgport=pgport or '5432', username=as_sql_user, database=database ), inputstring=sql) diff --git a/ckanext/datastore/commands.py b/ckanext/datastore/commands.py index 37866cb7ed5..c1171058628 100644 --- a/ckanext/datastore/commands.py +++ b/ckanext/datastore/commands.py @@ -59,6 +59,7 @@ def command(self): if cmd == 'set-permissions': setup.set_permissions( pguser=self.args[1], + pgport=self.db_ckan_url_parts['db_port'], ckandb=self.db_ckan_url_parts['db_name'], datastoredb=self.db_write_url_parts['db_name'], ckanuser=self.db_ckan_url_parts['db_user'],