Как исправить ошибку psycopg2 при настройке PsiTurk на Heroku - PullRequest
1 голос
/ 27 марта 2019

Я следую https://psiturk.readthedocs.io/en/latest/heroku.html, чтобы настроить psiturk на Heroku.Развернуто успешно, но после нажатия кнопки «Начать просмотр объявления» возникает Внутренняя ошибка сервера.Похоже, что ошибка происходит от

ProgrammingError: (psycopg2.ProgrammingError) WITHIN GROUP требуется для агрегированного режима с упорядоченным набором

Пробный твикнинг require.txt как psycopg2 или psycopg2==2.7.7, без разницы ... очень мало опыта работы с этим стеком.

Вот более полный журнал:

2019-03-27T03:34:30.149079+00:00 app[web.1]: [2019-03-27 03:34:30,148] ERROR in app: Exception on /ad [GET]
2019-03-27T03:34:30.149099+00:00 app[web.1]: Traceback (most recent call last):
2019-03-27T03:34:30.149102+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
2019-03-27T03:34:30.149103+00:00 app[web.1]: response = self.full_dispatch_request()
.......
2019-03-27T03:34:30.149176+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
2019-03-27T03:34:30.149177+00:00 app[web.1]: cursor.execute(statement, parameters)
2019-03-27T03:34:30.149178+00:00 app[web.1]: ProgrammingError: (psycopg2.ProgrammingError) WITHIN GROUP is required for ordered-set aggregate mode
2019-03-27T03:34:30.149180+00:00 app[web.1]: LINE 2: ...rkdemo_bonus, turkdemo.status AS turkdemo_status, turkdemo.m...
2019-03-27T03:34:30.149181+00:00 app[web.1]: ^
2019-03-27T03:34:30.149182+00:00 app[web.1]: 
2019-03-27T03:34:30.149183+00:00 app[web.1]: [SQL: SELECT count(*) AS count_1
2019-03-27T03:34:30.149194+00:00 app[web.1]: FROM (SELECT turkdemo.uniqueid AS turkdemo_uniqueid, turkdemo.assignmentid AS turkdemo_assignmentid, turkdemo.workerid AS turkdemo_workerid, turkdemo.hitid AS turkdemo_hitid, turkdemo.ipaddress AS turkdemo_ipaddress, turkdemo.browser AS turkdemo_browser, turkdemo.platform AS turkdemo_platform, turkdemo.language AS turkdemo_language, turkdemo.cond AS turkdemo_cond, turkdemo.counterbalance AS turkdemo_counterbalance, turkdemo.codeversion AS turkdemo_codeversion, turkdemo.beginhit AS turkdemo_beginhit, turkdemo.beginexp AS turkdemo_beginexp, turkdemo.endhit AS turkdemo_endhit, turkdemo.bonus AS turkdemo_bonus, turkdemo.status AS turkdemo_status, turkdemo.mode AS turkdemo_mode, turkdemo.datastring AS turkdemo_datastring
2019-03-27T03:34:30.149195+00:00 app[web.1]: FROM turkdemo
2019-03-27T03:34:30.149196+00:00 app[web.1]: WHERE turkdemo.assignmentid != %(assignmentid_1)s AND turkdemo.workerid = %(workerid_1)s) AS anon_1]
2019-03-27T03:34:30.149198+00:00 app[web.1]: [parameters: {'assignmentid_1': u'debug8OzHL', 'workerid_1': u'debug8chrG'}]
2019-03-27T03:34:30.149199+00:00 app[web.1]: (Background on this error at: http://sqlalche.me/e/f405)

Любые предложения приветствуются!

...