标签: psycopg2

获取OperationalError:致命:对不起,太多客户已经在使用psycopg2

我收到错误OperationalError:FATAL:抱歉,使用psycopg2时已经有太多客户端了.完成后我在连接实例上调用close方法.我不确定是什么导致这个,这是我第一次使用python和postgresql,但我有几年的php,asp.net,mysql和sql server经验.

编辑:我在本地运行,如果连接正在关闭,那么我一次只打开一个连接.我确实有一个GUI打开数据库,但即使关闭我收到此错误.这是在我运行程序后不久发生的.我有一个函数我调用它返回一个打开的连接,如:

psycopg2.connect(的connectionString)

谢谢

最终编辑:这是我的错误,我在错误中递归调用相同的方法,一遍又一遍地打开相同的方法.这是一个漫长的一天..

python postgresql psycopg2

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

psycopg2"TypeError:在字符串格式化期间不是所有参数都被转换"

我正在尝试将二进制数据(漩涡哈希)插入到PG表中并收到错误:

TypeError: not all arguments converted during string formatting 
Run Code Online (Sandbox Code Playgroud)

码:

cur.execute("""
    INSERT INTO
        sessions
        (identity_hash, posted_on)
    VALUES
        (%s, NOW())
""", identity_hash) 
Run Code Online (Sandbox Code Playgroud)

我尝试在插入之前将conn.Binary("identity_hash")添加到变量,但得到相同的错误.

identity_hash列是bytea.

有任何想法吗?

python postgresql psycopg2

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

使用python生成SQL语句

我需要从html文件生成一个insert语句列表(对于postgresql),是否有可用于python的库来帮助我正确转义并引用名称/值?在PHP中,我使用PDO进行转义和引用,是否有任何等效的python库?

编辑:我需要生成一个带有sql语句的文件,以便以后执行

python sql postgresql psycopg2

10
推荐指数
3
解决办法
4万
查看次数

pgbouncer - 关闭因为:每个连接上都有不洁净的服务器

我正在使用PostgreSQL 9.1/PostGIS 1.5,psycopg2 2.4.2和pgbouncer 1.4.2运行Django 1.3.

在与数据库的每个连接上,我在pgbouncer.log中获得一个日志条目:

2011-11-20 02:15:25.027 29538 LOG S-0x96c2200:app_db/postgres@192.168.171.185:5432关闭因为:unclean server(age = 0).

我找不到任何解决这个问题的方法 - 任何人都知道为什么?我已经尝试重新配置pgbouncer(会话/事务模式,不同的超时等),但无济于事.

django postgresql psycopg2 pgbouncer

10
推荐指数
1
解决办法
3991
查看次数

IntegrityError:区分唯一约束和非空违规

我有这个代码:

try:
    principal = cls.objects.create(
        user_id=user.id,
        email=user.email,
        path='something'
    )
except IntegrityError:
    principal = cls.objects.get(
        user_id=user.id,
        email=user.email
    )
Run Code Online (Sandbox Code Playgroud)

它尝试使用给定的id和电子邮件创建用户,如果已存在,则尝试获取现有记录.

我知道这是一个糟糕的结构,无论如何它都会被重构.但我的问题是:

我如何确定IntegrityError发生了什么类型:与unique约束违规相关的一个((user_id,email)上有唯一键)或者与not null约束相关的那个(path不能为空)?

python django postgresql psycopg2

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

Django:RunSQL:使用PostgreSQL COPY命令

我尝试使用以下RunSQL命令运行迁移:

class Migration(migrations.Migration):
    operations = [
        RunSQL(
r'''
COPY auth_group (id, name) FROM stdin;
1   TEST-GROUP
\.
''')]
Run Code Online (Sandbox Code Playgroud)

它失败了:

File "/home/foo/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 63, in execute
     return self.cursor.execute(sql)
django.db.utils.ProgrammingError: syntax error at or near "1"
LINE 3: 1 TEST-GROUP
Run Code Online (Sandbox Code Playgroud)

COPY不允许RunSQL吗?

我们使用psycopg2

django postgresql psycopg2 database-migration

10
推荐指数
1
解决办法
1004
查看次数

无法使用 Python 3.8 在 Windows 10 上安装“psycopg2”

昨天我错误地卸载了python 3.7版本。然后我再次安装python(这次是3.8版本)并再次设置我的环境。但是我无法启动具有 Postgres 连接的 Django 项目。实际上我无法在我的环境中安装“ psycopg2 ”。我搜索了几个小时并实施了我从网上获得的所有解决方案,但它不起作用。让我告诉你我到目前为止做了什么。


  • 首先它说要在我的 PATH 中添加 Postgres,所以我C:\Program Files\PostgreSQL\12\bin\在我的 PATH 中添加了。
  • 然后出现了一个新问题,其中包含一个包含 2 个重要错误的巨大错误报告。

    错误:psycopg2 的构建轮失败

    ......................................

    为 psycopg2 运行 setup.py install ... 错误

    我尝试升级轮子,但它说,

    要求已经是最新的

  • http://initd.org/psycopg/docs/install.html#install-from-source 我从这个站点了解到psycopg2需要python2版本。所以我也安装了python 2.7

  • 我重新安装了 PostgreSQL,但它不起作用。
  • 我删除了我的虚拟环境并重新创建,但它不起作用。
  • 有人说他们通过跑步解决了这个问题,pip install psycopg2-binary但这对我不起作用。

请帮我摆脱这个。我坚持了几个小时。

django postgresql psycopg2 python-3.8

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

无法在 Mac 12.3 上安装 psycopg2,我不断收到此错误

我最近买了一台 MacBook Pro 并为其设置了一些 python 和 Django 编程,但最终在安装 psycopg2 时遇到了问题,我已经尝试了几件事,但没有一个对我有用,这里留下了错误,

\n
Collecting psycopg2\n  Using cached psycopg2-2.9.3.tar.gz (380 kB)\n  Preparing metadata (setup.py) ... error\n  error: subprocess-exited-with-error\n  \n  \xc3\x97 python setup.py egg_info did not run successfully.\n  \xe2\x94\x82 exit code: 1\n  \xe2\x95\xb0\xe2\x94\x80> [23 lines of output]\n      running egg_info\n      creating /private/var/folders/7f/ssr40bmj6t3_yq0cv_43cttc0000gn/T/pip-pip-egg-info-noe7l09b/psycopg2.egg-info\n      writing /private/var/folders/7f/ssr40bmj6t3_yq0cv_43cttc0000gn/T/pip-pip-egg-info-noe7l09b/psycopg2.egg-info/PKG-INFO\n      writing dependency_links to /private/var/folders/7f/ssr40bmj6t3_yq0cv_43cttc0000gn/T/pip-pip-egg-info-noe7l09b/psycopg2.egg-info/dependency_links.txt\n      writing top-level names to /private/var/folders/7f/ssr40bmj6t3_yq0cv_43cttc0000gn/T/pip-pip-egg-info-noe7l09b/psycopg2.egg-info/top_level.txt\n      writing manifest file '/private/var/folders/7f/ssr40bmj6t3_yq0cv_43cttc0000gn/T/pip-pip-egg-info-noe7l09b/psycopg2.egg-info/SOURCES.txt'\n      \n      Error: pg_config executable not found.\n      \n      pg_config is required to build psycopg2 from source.  Please add the …
Run Code Online (Sandbox Code Playgroud)

django psycopg2 backend python-3.x

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

psycopg2.errors.ActiveSqlTransaction:CREATE TABLESPACE 无法在事务块内运行

我对 Python 很陌生,我们有一个应用程序容器和一个数据库容器。应用程序容器从 CLI 收集 DB_HOST、PORT 等值,并尝试在同一 Docker 主机上运行的容器化 Postgres DB 上创建表空间。

在执行查询时,我们收到以下错误。

psycopg2.errors.ActiveSqlTransaction: CREATE TABLESPACE cannot run inside a transaction block
Run Code Online (Sandbox Code Playgroud)

使用的Python库:

  • psycopg2
  • psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT

应用程序文档示例


FROM python:3.7-alpine

RUN apk update && \
    apk add --no-cache openssh sshpass && \
    apk add --no-cache --virtual .build-deps gcc musl-dev && \
    apk add linux-headers && \
    apk add python3-dev && \
    apk add postgresql-dev && \
    apk add postgresql-client && \
    apk add bash && \
    apk add libffi-dev make …
Run Code Online (Sandbox Code Playgroud)

python psycopg2 postgres-12

9
推荐指数
2
解决办法
6924
查看次数

如何在Django项目中使用PostgreSQL的存储过程或函数

我正在开发一个 Django 项目。我决定在 PostgreSQL 中编写逻辑代码,而不是用 Python 编写。因此,我在 PostgreSQL 中创建了一个存储过程。例如,存储过程如下所示:

create or replace procedure close_credit(id_loan int)
language plpgsql
as $$
begin
    update public.loan_loan
    set sum = 0
    where id = id_loan;
    commit;
end;$$
Run Code Online (Sandbox Code Playgroud)

然后在settings.py中,我做了以下更改:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'pawnshop',
        'USER': 'admin',
        'PASSWORD': password.database_password,
        'HOST': 'localhost',
        'PORT': '',
    }
}
Run Code Online (Sandbox Code Playgroud)

那么问题来了,如何在views.py中调用这个存储过程呢?

附注

也许这听起来像是一个愚蠢的问题,但我确实在 Django 中找不到任何解决方案。

python django postgresql psycopg2

9
推荐指数
1
解决办法
3047
查看次数