问题标签 [asyncpg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
696 浏览

python - 对 asyncpg 连接池使用“async with”时有关 __aexit__ 的属性错误

这是我Database班上的一些相关代码:

我认为类上的静态属性将是存储连接池的理想方式,以前我每个类实例都有一个池,有点打败池的对象。get_connection我现在在以下代码中调用错误:

回溯如下:

看来我get_connection的过敏了async with。如果我async with用普通替换,await那么东西会再次起作用:

我得到一个属性错误这里有什么问题__aexit__

我被提到了这个问题,但我无法“适应”问题中的代码结构和我的场景的给定答案。

0 投票
1 回答
31 浏览

python - 尝试运行创建表查询时出现 UndefinedObjectError

我正在尝试使用此架构创建一个表:

但是我在尝试创建它时遇到了这个错误:

这可能是权限问题吗?什么问题?

0 投票
0 回答
88 浏览

python - Sqlalchemy 设置默认日期时间导致错误

我正在尝试将默认当前时间设置为字段,但出现错误。我正在使用 sqlalchemy 和 asyncpg。

错误:

桌子

版本

命令:

0 投票
1 回答
490 浏览

python - 时间戳的 Asyncpg INSERT 查询在“18”处或附近返回 ERROR 语法错误

您好我在尝试添加时间戳时遇到错误。我不断收到错误asyncpg.exceptions.PostgresSyntaxError: syntax error at or near "18",这条线end_date = duration + dt.datetime.now(bst) # timestamp似乎是罪魁祸首,但我不确定为什么会这样。

这是我正在使用的内容:

0 投票
0 回答
289 浏览

python - SQLAlchemy 正确处理死锁

我正在使用具有以下初始化的 SQLAlchemies 异步引擎,并希望从死锁中恢复。由于我在文档中找不到任何相关信息,我决定使用 timeout 参数。

我现在面临的问题是我找不到从 TimeoutErrors 中恢复的正确方法。

第 1 次尝试

导致以下错误:

第 2 次尝试

导致以下错误:

所以我的问题是,我该怎么办?

编辑

经过进一步测试,我意识到超时参数不起作用。当死锁发生时,SQLAlchemy 停止响应并且 asyncio 用以下消息填充日志:

有趣的是,应用程序的其余部分不受它的影响,并继续按预期工作。

更多信息

使用 MySQL 而不是 PostgreSQL 时也会出现此问题。不执行选择或更新查询。对大约 300 个不同的表执行大约 1000 次插入的突发足以以一定的概率导致此问题。在我们的应用程序中,引擎在使用大约 10 分钟后锁定。我们发现缓解此问题的唯一方法是每 5 分钟终止并重新启动 python 脚本。

0 投票
0 回答
137 浏览

python-3.x - 使用 asyncpg 在 postgresql 中获取 ConnectionRefusedError

尝试连接到我的数据库时出现 ConnectionRefusedError

我已将用户 postgres 更改为 postgresql

这是完整的错误:

提前致谢!

0 投票
1 回答
89 浏览

python-3.x - 获取多行的问题

嗨,我正在从 psycopg2 转移到 asyncpg,在这种情况下,我在尝试返回 asyncpg 中的多行时遇到了问题 10。在 psycopg2 中,我将通过以下方式执行此操作:

心理咨询师2

asycpg

我有点卡在 asyncpg 部分帮助将不胜感激。

这是我正在使用的内容:

0 投票
0 回答
56 浏览

sqlalchemy - sqlalchemy 获取最后插入的 ID|创建的记录(asyncpg 适配器)

我知道这个问题被问过很多次了,但是现在sqlalchemy有了新的版本和语法,所以这些答案主要是过时的

我试过: print(r.fetchone()) # None r.lastrowid # AttributeError: 'AsyncAdapt_asyncpg_cursor' 对象没有属性 'lastrowid'

那么默认解决方案是什么

0 投票
1 回答
54 浏览

java - 如何在 docker 中提供多个运行时?就像 Java 和 python 在 docker 中完全一样,并且需要像 asyncpg 这样的依赖项

我正在一个 Java spring boot 应用程序中工作,作为 docker 容器运行。

这个应用程序的主要目的是执行 python 脚本。所以在 docker 容器内,我必须提供可用的 python 环境。我用这段代码添加了 python 运行时。但似乎这是非常基本的 python 版本,我无法提供其他重要的库。

就像,我想添加“asyncpg”库,以便我可以使用连接池。

但它不允许我添加 asyncpg 库。

下面是docker文件。

注意:我已经评论了“#FROM python:3.6-alpine”,如果我打开它,那么 java 运行时将不可用,即“FROM openjdk:8u191-jre-alpine3.8”

------- Docker 文件 --------------

0 投票
0 回答
108 浏览

python - 如何通过守护线程从同步代码中使 asyncpg 驱动程序工作?

我有一个具有同步和非同步代码的应用程序(因为它进行计算)。

Asyncpg 声称比 psycopg2 快得多,这里: https ://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/

我想出了在 DatabaseManager 上动态修补的代码,它本身使用 asyncpg 和协程方法。目标是使同步代码可以使用相同的界面。有一个更好的方法吗?

AsyncioWorkerThread 只是在守护线程中运行的事件循环。(见这个链接https://stackoverflow.com/questions/67199459/asyncio-loop-in-daemon-thread)