psycopg2.OperationalError:无法连接到服务器:连接被拒绝

时间:2018-05-02 08:29:31

标签: python postgresql docker docker-compose

import os
import datetime
from flask import Flask, render_template, redirect, url_for
#from database import DatabaseConnection
#from models import kayıt
from forms import LoginForm
import psycopg2 as p

conn=p.connect(dbname='app_db', user='postgres', host='localhost', password='samet', port=5432)
conn.autocommit=True
cur=conn.cursor()   

conn'and line

psycopg2.OperationalError: could not connect to server: Connection refused

使用; PostgreSQL的:9.6.5 蟒:3

如果我只运行带有信息的postgre,但它没有在python中运行

谢谢

对不起,我应该更清楚地解释一下。我正在和一个码头工人打交道。我有3个容器,但我试图通过PostgreSQL使用python容器。我想为此使用psycopg2。但我收到这样的错误。我的登录信息是正确的。我查了一下。

2 个答案:

答案 0 :(得分:1)

弄清楚如何解决此问题:

根据this answer

  

Postgres与烧瓶不在同一个容器中运行   应用程序,为什么它不能通过本地主机加入。我们应该   使用flask找到docker容器的IP地址并添加它,或者   只需添加Postgres或volume_name代替localhost。

因此您的连接应如下所示:

conn=p.connect(dbname='app_db', user='postgres', host='volume_name_of_postgres_in_docker_compose', password='samet', port=543

答案 1 :(得分:-1)

您确定传递给psycopg2 connect函数的所有参数都是正确的吗?

conn=p.connect(dbname='app_db', user='postgres', host='localhost', password='samet', port=5432)

数据库名称,用户名,主机,密码和端口都可能不正确。