Hi Markus, Have you set these settings in settings.py? PG_SUPERUSER PG_SUPERUSER_PW
These should be set to a user who can create a database in Postgres. If you set those that should get you past the error above. Cheers, Alexei On Thursday, April 22, 2021 at 3:04:41 PM UTC-7 Markus S. wrote: > Hi all, > > Status update: no luck yet. > > I am currently trying to use *Azure Database for PostgreSQL server *with > a Private Endpoint that links the server to the same VNet where the app > server resides. SSL has been disabled on the db server. I have allowed all > IP address to contact the db server in the testing phase. > > On the app server, I am able connect to the db server using pgAdmin. I > also tested the db connection successfully using a Python script that > utilizes psycopg2 and sslmode=require (even though SSL is disabled). (See > at > https://docs.microsoft.com/en-us/azure/postgresql/flexible-server/connect-python > .) > > Now, the db server only allows Postgre version up to 11. Arches needs > version 12. There is a "flexible" version of the server that goes to 12 but > it's a preview/beta version and I ran into some other issues with it, so I > discarded that route. Perhaps the version discrepancy is my issue at the > moment? > > When running *setup_db*, I get this error . So, I've actually only made > backward progress because now I only get to line 30, haha! I think I'll > give this a little break and try again another time, starting from scratch. > Thank you for all your suggestions so far. > > (ENV) C:\Projects\arches_parks>python manage.py setup_db > Are you sure you want to destroy and rebuild your database? [y/N] y > Traceback (most recent call last): > File "manage.py", line 30, in <module> > execute_from_command_line(sys.argv) > File > "C:\Projects\ENV\lib\site-packages\django\core\management\__init__.py", > line 381, in execute_from_command_line > utility.execute() > File > "C:\Projects\ENV\lib\site-packages\django\core\management\__init__.py", > line 375, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File "C:\Projects\ENV\lib\site-packages\django\core\management\base.py", > line 323, in run_from_argv > self.execute(*args, **cmd_options) > File "C:\Projects\ENV\lib\site-packages\django\core\management\base.py", > line 364, in execute > output = self.handle(*args, **options) > File > "C:\Projects\ENV\lib\site-packages\arches\management\commands\setup_db.py", > line 52, in handle > self.setup_db() > File > "C:\Projects\ENV\lib\site-packages\arches\management\commands\setup_db.py", > line 180, in setup_db > conninfo = self.get_connection() > File > "C:\Projects\ENV\lib\site-packages\arches\management\commands\setup_db.py", > line 103, in get_connection > cancreate = cursor.fetchone()[0] > TypeError: 'NoneType' object is not subscriptable > > On Tuesday, April 20, 2021 at 12:41:48 PM UTC-7 [email protected] wrote: > >> Also, it looks like the failure comes on this specific line >> https://github.com/archesproject/arches/blob/master/arches/management/commands/setup_db.py#L137. >> >> As I recall, that line cleans up existing connections, but it is not >> technically necessary for the process if you don't have other connections >> to the database. So you could also try simply commenting out that line >> before running the command and seeing what happens. >> >> Adam >> >> On Tue, Apr 20, 2021 at 3:33 AM [email protected] < >> [email protected]> wrote: >> >>> Markus, we are running a duel Azure server setup on Windows with no >>> issues - but only at 5.0. >>> >>> As we are running it in a private network we've not needed to enable SSL >>> but for a side project I have connected it up to Azure Database for >>> Postgresql Server instance and I have to add the sslmode option to the DB >>> connection string. >>> >>> DATABASES = { >>> "default": { >>> "ENGINE": "django.contrib.gis.db.backends.postgis", >>> "NAME": get_env_variable("PGDBNAME"), >>> "USER": get_env_variable("PGUSERNAME"), >>> "PASSWORD": get_env_variable("PGPASSWORD"), >>> "HOST": get_env_variable("PGHOST"), >>> "PORT": get_env_variable("PGPORT"), >>> "POSTGIS_TEMPLATE": "template_postgis", >>> "OPTIONS": { >>> "sslmode": get_env_variable("PGSSLMODE") #needs to use ' >>> *require*' if connecting to Azure Database for Postgresql >>> }, >>> } >>> } >>> >>> If you can, perhaps test with SSL disabled so you can isolate the issue >>> further. >>> >>> On Tuesday, April 20, 2021 at 12:56:09 AM UTC+1 Markus S. wrote: >>> >>>> Hi, >>>> >>>> Thanks for all the tips. After a fresh install, when I run *setup_db*, >>>> I still get the following error, pasted below. >>>> >>>> On the app server, I can connect to the database server without issue >>>> using pgAdmin. I have created the blank db for Arches there, as per Ryan's >>>> suggestion. The postgis template exists on the server and I used it as a >>>> template to create the db. This should not be a port issue since I am able >>>> to connect with pgAdmin. >>>> >>>> I have set the db connection parameters in the *settings_local* file. >>>> I know the host, database name, username and password strings should be >>>> correct because I get a different error if I intentionally mess them up. >>>> The error below is likely caused by something else, and it seems that the >>>> SSL connection just breaks right away. It is not complaining about SSL >>>> version, but I might look into that a bit. >>>> >>>> (ENV) C:\Projects\arches_parks>python manage.py setup_db >>>> Are you sure you want to destroy and rebuild your database? [y/N] y >>>> Drop and recreate the database... >>>> >>>> SELECT pg_terminate_backend(pid) FROM pg_stat_activity >>>> WHERE datname IN ('azure_arches', 'template_postgis'); >>>> Traceback (most recent call last): >>>> File "manage.py", line 30, in <module> >>>> execute_from_command_line(sys.argv) >>>> File >>>> "C:\Projects\ENV\lib\site-packages\django\core\management\__init__.py", >>>> line 381, in execute_from_command_line >>>> utility.execute() >>>> File >>>> "C:\Projects\ENV\lib\site-packages\django\core\management\__init__.py", >>>> line 375, in execute >>>> self.fetch_command(subcommand).run_from_argv(self.argv) >>>> File >>>> "C:\Projects\ENV\lib\site-packages\django\core\management\base.py", line >>>> 323, in run_from_argv >>>> self.execute(*args, **cmd_options) >>>> File >>>> "C:\Projects\ENV\lib\site-packages\django\core\management\base.py", line >>>> 364, in execute >>>> output = self.handle(*args, **options) >>>> File >>>> "C:\Projects\ENV\lib\site-packages\arches\management\commands\setup_db.py", >>>> >>>> line 52, in handle >>>> self.setup_db() >>>> File >>>> "C:\Projects\ENV\lib\site-packages\arches\management\commands\setup_db.py", >>>> >>>> line 186, in setup_db >>>> self.drop_and_recreate_db(cursor) >>>> File >>>> "C:\Projects\ENV\lib\site-packages\arches\management\commands\setup_db.py", >>>> >>>> line 137, in drop_and_recreate_db >>>> cursor.execute(terminate_sql) >>>> *psycopg2.errors.AdminShutdown: terminating connection due to >>>> administrator command* >>>> *SSL connection has been closed unexpectedly* >>>> >>>> On Wednesday, April 14, 2021 at 11:30:27 AM UTC-7 [email protected] >>>> wrote: >>>> >>>>> Hi Markus, I use this setup for my installations. It works as >>>>> expected, but you make a few good points. This is definitely a section of >>>>> the documentation I've been wanting to update for a while... >>>>> https://github.com/archesproject/arches-docs/issues/115 >>>>> >>>>> For your Azure connection issues, like Ryan said it could be a >>>>> firewall issue. Make sure your db server allows access via port 5432 from >>>>> your app server. On AWS I found that I needed to allow access from the >>>>> app >>>>> server's *private* ip address, not public one, to facilitate this >>>>> connection. Easiest of course would be to open up 5432 to any incoming >>>>> connections, but that's not a very secure solution.... >>>>> >>>>> As for the local postgres installation, originally arches did require >>>>> the postgres client pqsl locally to facilitate all of the setup_db >>>>> commands, but we've tried to factor that out ( >>>>> https://github.com/archesproject/arches/issues/4803). It's really a >>>>> consequence of relying for a long time on an installation process that >>>>> expects a postgres superuser (discussed a bit here: >>>>> https://github.com/archesproject/arches/issues/2636). Ultimately, you >>>>> can now run all of the normal arches development management commands >>>>> without having postgres/psql locally, but you will need to create your >>>>> database ahead of time and add the postgis and uuid-ossp extensions to it. >>>>> >>>>> Hope that helps a bit, >>>>> Adam >>>>> >>>>> On Wed, Apr 14, 2021 at 1:26 PM Markus S. <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Ryan, >>>>>> >>>>>> Thanks, this is very helpful. That's pretty much what I had already >>>>>> tried. On the app server, I had used PGAdmin to connect to the db server >>>>>> and the connection was successful. Using pgAdmin, I had also created the >>>>>> blank db with the PostGIS template on it. >>>>>> >>>>>> It sounds like I just need to try again and double-check the settings >>>>>> file. I'll report back my findings. >>>>>> >>>>>> Markus >>>>>> On Wednesday, April 14, 2021 at 11:15:41 AM UTC-7 Ryan Anderson wrote: >>>>>> >>>>>>> Hi Markus, >>>>>>> >>>>>>> I've done this a bunch with Amazon's RDS service. It sounds like >>>>>>> generally you are on the right track. More detail about the errors >>>>>>> you're >>>>>>> seeing would be helpful, but I'll try to recount additional things that >>>>>>> may >>>>>>> be necessary here. >>>>>>> >>>>>>> First, check that your postgres port is open on your db server >>>>>>> (usually this is 5432) and accessible from your application server. >>>>>>> Sometimes I do this by installing psql on the application server and >>>>>>> trying >>>>>>> to connect to the db server with that. On AWS there are some network >>>>>>> settings that need to be tweaked to make sure that the application and >>>>>>> db >>>>>>> server can talk to each other. >>>>>>> >>>>>>> The command to connect should be something like this: >>>>>>> `psql -U username -h db_server` >>>>>>> >>>>>>> If this works, then add a postgis template to your db instance >>>>>>> (instructions for this can be found here >>>>>>> <https://postgis.net/install/>) and then try manually creating your >>>>>>> project database from this template in psql. This will get overwritten >>>>>>> when >>>>>>> you run setup_db/load_package in Arches, but sometimes Arches likes to >>>>>>> see >>>>>>> that there is already a database there. >>>>>>> >>>>>>> If things are still not working at this point then double check your >>>>>>> settings/settings_local.py file. >>>>>>> >>>>>>> Arches does not require that you have postgres server installed on >>>>>>> the application server, but it is usually helpful in these situations >>>>>>> to >>>>>>> have the psql client installed - which requires you to select a version >>>>>>> you >>>>>>> would like it to work with. >>>>>>> >>>>>>> I hope this helps. Post back with any updates or additional info. >>>>>>> >>>>>>> Cheers, >>>>>>> Ryan >>>>>>> >>>>>>> >>>>>>> On Wednesday, April 14, 2021 at 10:51:21 AM UTC-7 Markus S. wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Does anyone have experience installing Arches 5.1 using two >>>>>>>> servers, one for the web server/app and one for the PostgreSQL >>>>>>>> database? >>>>>>>> I'm looking at doing that on Azure. It does not seem as simple as just >>>>>>>> setting the database server host name and port in the settings file (I >>>>>>>> tried it). Furthermore, the Arches app installation process seems to >>>>>>>> require the Postgre 12 dependency on the app's server, implying that >>>>>>>> the >>>>>>>> default expectation is that the db and the app reside on the same >>>>>>>> server. >>>>>>>> >>>>>>>> Any tips on this would be appreciated. >>>>>>>> >>>>>>>> Markus >>>>>>>> >>>>>>> -- >>>>>> -- To post, send email to [email protected]. To >>>>>> unsubscribe, send email to [email protected]. For >>>>>> more information, visit >>>>>> https://groups.google.com/d/forum/archesproject?hl=en >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Arches Project" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/archesproject/657bf66c-dd85-49b0-8567-d6c50e2ef793n%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/archesproject/657bf66c-dd85-49b0-8567-d6c50e2ef793n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>> -- To post, send email to [email protected]. To unsubscribe, >>> send email to [email protected]. For more information, >>> visit https://groups.google.com/d/forum/archesproject?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Arches Project" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/archesproject/7ade08a5-aebb-49fe-8398-a2a0ed4e9112n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/archesproject/7ade08a5-aebb-49fe-8398-a2a0ed4e9112n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- -- To post, send email to [email protected]. To unsubscribe, send email to [email protected]. For more information, visit https://groups.google.com/d/forum/archesproject?hl=en --- You received this message because you are subscribed to the Google Groups "Arches Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/archesproject/c2a656f7-9b8c-470d-ab6c-57a8f9a6c99dn%40googlegroups.com.
