У меня есть python flask веб-приложение, работающее на apache сервере. Приложение flask - это всего лишь одна функция, возвращающая значение, которое я получаю из базы данных postgres.
@app.route('/')
def hello_world():
import psycopg2
db_conn_string = ("dbname=" + "xxx"
+ " user=" + "xxx"
+ " host=" + "xxx"
+ " password=" + "xxx")
db_connection = psycopg2.connect(db_conn_string)
cursor = db_connection.cursor()
cursor.execute("SELECT * FROM XXX")
return cursor.fetchall()
Когда я запускаю это приложение, я получаю это в браузере:
Я проверил журналы под /var/log/apache2/error.log
, и ошибка:
[Fri Jan 24 10:34:34.676561 2020] [core:notice] [pid 15644:tid 139639322680256] AH00051: child pid 15972 exit signal Segmentation fault (11), possible coredump in /etc/apache2
Интересно, когда я изменяю инструкцию return, чтобы просто вернуть привет мир он работает просто отлично, и я не вижу никакой ошибки. Поэтому я предполагаю, что ошибка связана с тем, что веб-приложение apache пытается подключиться к базе данных postgres. Я проверил учетные данные базы данных, и в этом нет ничего плохого. Я не знаю, как это исправить.
РЕДАКТИРОВАТЬ : тестовая программа python с тем же кодом работает, и я могу получить данные.