Переход от sqlite3 к Postgresql (PSQL (PostgreSQL) 9.4.5) в пирамидеPyramid Postgresql Проблема соединения
Я использую sqlite3
для доступа к базе данных sqlalchemy
. Я разработал веб-фреймворк pyramid
и работает sqlite3. Тем не менее, я хотел уйти от использования sqlite3
и вместо этого использовать postgresql
для db. Я новичок в этом, и я пытаюсь выяснить, не упустил ли я шаг.
Я последовал this tutorial в скачивании psycopg2
(добавляя его setup.py) изменения файла development.ini
от:
sqlalchemy.url = sqlite:////Users/ack/code/venv/NotssDB/notssdb/notssdb
к:
sqlalchemy.url = postgresql://ack:[email protected]:5432/notssdb
Я установил Postgres через this site с помощью Mac OSX.
С учетом сказанного, когда я запускаю приложение pserve development.ini
... база данных не соединяется или не загружается. Когда я использую url sqlite
, база данных подключается.
Что я могу пропустить?
development.ini в пирамиде:
sqlalchemy.url = postgresql://ack:[email protected]:5432/notssdb
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
###
# wsgi server configuration
###
[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 5432
postgresql.conf
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
Postgres журнал сервера:
LOG: invalid length of startup packet
LOG: invalid length of startup packet
Должен ли я изменить postgres config file? (A stacks question относится к нему тоже) ... Я видел это в pg_hba.conf
:
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 0.0.0.0/0 trust
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication ack trust
#host replication ack 127.0.0.1/32 trust
#host replication ack ::1/128 trust
Использование терминала, это связывает меня с БД на Postgres:
psql -h localhost -d notssdb -p 5432
NEW
сервер postgresql запускается автоматически
Как запустить приложение Pyramid:
$ python setup.py develop #installs packages
$ initialize_notssweb_db development.ini # --db Session--
$ pserve development.ini #terminal: --db Session-- Starting server in PID 3501. serving on http://0.0.0.0:5432
Проверка сервера:
$ pg_ctl -D /usr/local/var/postgres status
pg_ctl: server is running (PID: 701)
/usr/local/Cellar/postgresql/9.4.5/bin/postgres "-D" "/usr/local/var/postgres" "-r" "/usr/local/var/postgres/server.log"
Не могли бы вы отредактировать вопрос, включив соответствующие сообщения об ошибках «не загружать», а также проверить файлы журнала PostgreSQL. –
@MikkoOhtamaa Мне жаль, что у меня нет приглашения 'not loading' ... Я получаю' Нет данных ERR_EMPTY_RESPONSE. Не удалось загрузить веб-страницу, потому что сервер не отправил данные. ' – thesayhey
Вам нужно получить ошибку трассировки Python, а не то, что говорит ваш веб-сервер. Он находится в консоли приложения Pyramid или в файлах журнала. –