标签: psycopg2

ImportError:DLL加载失败: - 尝试导入psycopg2库时

>>> import psycopg2
Traceback (most recent call last):
  File "", line 1, in 
  File "C:\Python26\lib\site-packages\psycopg2\__init__.py", line 60, in 
    from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: DLL load failed: The application has failed to start because its si
de-by-side configuration is incorrect. Please see the application event log for
more detail.

我在尝试导入psycopg2时遇到此错误..我已经搜索了几天,但没有找到解决方案.我已经尝试安装Visual C++ 2008包,但我仍然得到相同的错误.

python django postgresql psycopg2

13
推荐指数
3
解决办法
1万
查看次数

运行Django的syncdb时,OSX 10.7.3上的Postgresql套接字错误

由于将OSX升级到版本10.7.3,当我尝试运行Django"syncdb"命令时,我从Postgresql 8.4.2收到以下psycopg2错误:

psycopg2.OperationalError: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

我可以毫无意外地打开psql,但是当我尝试运行"pg_ctl status"时,我也收到了这个错误:

pg_ctl: could not open PID file "/Library/PostgreSQL/8.4/data/postmaster.pid": Permission denied
Run Code Online (Sandbox Code Playgroud)

有相关性吗?

django postgresql psycopg2 syncdb

13
推荐指数
3
解决办法
4497
查看次数

在Mac OS X上安装libpq-dev

我正在尝试在我的本地Mac OS X上运行带有Postgresql后端的Django.我已经使用pip安装了Django:

sudo pip install Django
Run Code Online (Sandbox Code Playgroud)

我已经安装PostgreSQL用于二进制安装程序之一在这里.

但是当我尝试安装psycopg2时,我得到一个错误(粘贴在下面),它找不到pg_config.

这个问题看来我应该安装,libpq-dev但我不确定如何.

我尝试libpqxx使用MacPorts 安装,但是没有做任何事情.

如何安装libpg-dev?或者还有其他我想念的东西?

henrietta:~ $ pip install psycopg2
Downloading/unpacking psycopg2
  Downloading psycopg2-2.4.5.tar.gz (719Kb): 719Kb downloaded
  Running setup.py egg_info for package psycopg2
    Error: pg_config executable not found.

    Please add the directory containing pg_config to the PATH
    or specify the full executable path with the option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.
    Complete output from command …
Run Code Online (Sandbox Code Playgroud)

python django postgresql psycopg2

13
推荐指数
3
解决办法
2万
查看次数

操作错误:致命:数据库"django"不存在

我是一个db dummy,我试图为我的django项目设置PostgreSQL.为此,我也使用psycopg2.但数据库很复杂.就个人而言,如果有办法在一个地方掌握所有我的数据库和用户设置/信息,我想.所以我知道连接到什么以及如何连接(我仍在本地运行所以没有安全问题?).

然而,即使我连接到标准"admin"-user"postgres",我似乎也没有创建此数据库的"权限".使用我在安装下输入的密码("pw123").

Django-project(settings.py):

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'django',                      
        'USER': 'postgres',
        'PASSWORD': 'pw123',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
Run Code Online (Sandbox Code Playgroud)

CMD - > python manage.py shell(导入django.db连接后)

>>> cursor = connection.cursor()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\Python27\lib\site-packages\django\db\backends\__init__.py", line 165, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "C:\Python27\lib\site-packages\django\db\backends\__init__.py", line 138, in _cursor
    self.ensure_connection()
  File "C:\Python27\lib\site-packages\django\db\backends\__init__.py", line 133, in ensure_connection
    self.connect()
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "C:\Python27\lib\site-packages\django\db\backends\__init__.py", line 133, …
Run Code Online (Sandbox Code Playgroud)

database django postgresql psycopg2

13
推荐指数
2
解决办法
2万
查看次数

是否需要在脚本末尾关闭Psycopg2连接?

psycopg2在Python脚本结束时不关闭连接有什么后果?例如,请考虑以下代码段:

import psycopg2
psycopg2.connect("dbname=test")
Run Code Online (Sandbox Code Playgroud)

该脚本打开一个连接,但最后不会关闭它.执行结束时连接是否仍然打开?如果是这样,是否存在未关闭连接的问题?

python postgresql database-connection psycopg2

13
推荐指数
1
解决办法
4656
查看次数

在psycopg2中为连接的所有查询设置模式:在设置search_path时获取竞争条件

我们的系统运行在Ubuntu,python 3.4,postgres 9.4.x和psycopg2上.

我们(将在未来编)之间的分裂dev,test以及prod环境的使用模式.我创建了一种方便的方法来创建与数据库的连接.它使用json连接配置文件来创建连接字符串.我想配置连接以使用返回的连接为所有后续查询使用特定模式.我不希望我的查询有硬编码模式,因为我们应该能够轻松地在它们之间切换,具体取决于我们是处于开发,测试还是生产阶段/环境.

目前,便捷方法如下所示:

def connect(conn_config_file = 'Commons/config/conn_commons.json'):
    with open(conn_config_file) as config_file:    
        conn_config = json.load(config_file)

    conn = psycopg2.connect(
        "dbname='" + conn_config['dbname'] + "' " +
        "user='" + conn_config['user'] + "' " +
        "host='" + conn_config['host'] + "' " +
        "password='" + conn_config['password'] + "' " +
        "port=" + conn_config['port'] + " "
    )
    cur = conn.cursor()
    cur.execute("SET search_path TO " + conn_config['schema'])

    return conn
Run Code Online (Sandbox Code Playgroud)

只要你给它时间来执行set search_path查询,它就可以正常工作.不幸的是,如果我执行以下查询的速度太快,则会在search_path没有设置的情况下发生竞争条件.我试图在执行conn.commit()之前强制执行return conn …

python postgresql schema psycopg2 python-3.x

13
推荐指数
2
解决办法
2万
查看次数

psycopg2:无法适应类型“numpy.int64”

我有一个数据框,其 dtypes 如下所示,我想将数据框插入 postgres 数据库,但由于错误无法适应类型“numpy.int64”而失败

id_code               int64
sector              object
created_date         float64
updated_date    float64
Run Code Online (Sandbox Code Playgroud)

如何将这些类型转换为原生 python 类型,例如从 int64(本质上是“numpy.int64”)到经典 int,然后通过 psycopg2 客户端可以接受 postgres。

data['id_code'].astype(np.int)  defaults to int64
Run Code Online (Sandbox Code Playgroud)

尽管如此,还是可以从一种 numpy 类型转换为另一种类型(例如从 int 到 float)

data['id_code'].astype(float)
Run Code Online (Sandbox Code Playgroud)

更改为

dtype: float64
Run Code Online (Sandbox Code Playgroud)

底线是 psycopg2 似乎不理解 numpy 数据类型,如果有人有想法如何将它们转换为有帮助的经典类型。

更新:插入数据库

def insert_many():
    """Add data to the table."""
    sql_query = """INSERT INTO classification(
                id_code, sector, created_date, updated_date)
                VALUES (%s, %s, %s, %s);"""
    data = pd.read_excel(fh, sheet_name=sheetname)
    data_list = list(data.to_records())

    conn = None
    try:
        conn = psycopg2.connect(db)
        cur = …
Run Code Online (Sandbox Code Playgroud)

numpy psycopg2

13
推荐指数
3
解决办法
2万
查看次数

psycopg2无法连接到Docker映像

我已经按如下所示启动了docker镜像:

docker run --name fnf-postgis -e POSTGRES_DB=fnf -e POSTGRES_USER=fnfuser -e POSTGRES_PASSWORD=fnf2pwd -p5432:5432 -d mdillon/postgis:11
Run Code Online (Sandbox Code Playgroud)

并且我已经设置了我的Django数据库配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'fnf',
        'USER': 'fnfuser',
        'PASSWORD': 'fnf2pwd',
        'host': '',
        'port': 5432,
Run Code Online (Sandbox Code Playgroud)

但是,运行时出现makemigrations此错误:

psycopg2.OperationalError:无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并且在Unix域套接字“ /tmp/.s.PGSQL.5432”上接受连接?

但我可以从pycharm成功连接到容器

在此处输入图片说明

python django psycopg2 docker

13
推荐指数
1
解决办法
534
查看次数

psycopg2.OperationalError: 致命: 不支持的前端协议 1234.5679: 服务器支持 2.0 到 3.0

我正在使用 Macbook

Psycopg2 在连接 localhost db(Mac 上的 PostgreSQL)时运行良好。当我尝试在 Windows10 上连接 PostgreSQL 数据库时出现错误。

以下代码是我用于连接的代码,主机只是windows10的IP

db= psycopg2.connect(database='dbname',user='username',password="secret",host="192.168.3.9",port="5432")
Run Code Online (Sandbox Code Playgroud)

错误:

  File "path/to/psycopg2/__init__.py", line 126, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  unsupported frontend protocol 1234.5679: server supports 2.0 to 3.0
Run Code Online (Sandbox Code Playgroud)

这是因为系统兼容性还是其他原因?我试过其他 Windows 机器,但没有运气让它工作。但是,当我使用Node.JS 模块 pg 时,我能够在 Windows 上连接 PostgreSQL

python postgresql psycopg2

13
推荐指数
3
解决办法
1万
查看次数

在 ubuntu 20.04 中安装 libpq-dev 的问题

我目前正在尝试安装 libpq-dev 来安装 psycopg2。问题是,当我尝试安装它时,出现错误,提示我没有最新的 libpq5 版本。但是,当我尝试下载较新版本的 libpq5 时,系统说我已经有了最新版本。错误示例。

lhmendes@lhmendes-GA-78LMT-S2P:~$ sudo apt-get install libpq-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libpq-dev : …
Run Code Online (Sandbox Code Playgroud)

python psycopg2 libpqxx python-3.x

13
推荐指数
4
解决办法
7092
查看次数