Database timezone ignored for timestamptz
还没有人认领这个 Issue。
评估
调研方向
首先,在 Linux 上使用 asyncpg 0.27.0 和 Python 3.10.9 重现报告的 PostgreSQL 15.1 timestamptz 行为,并将 psql 输出与返回的 datetime 进行比较。跟踪 timestamp 解码路径,并确定涵盖 timestamptz 值的现有测试。完成的标准是:返回的 datetime 保留预期的数据库本地时区行为,并且该回归问题已由测试覆盖。
由索引模型根据 Issue 内容生成。
描述
- asyncpg version: 0.27.0
- PostgreSQL version: 15.1
- Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
the issue with a local PostgreSQL install?: local - Python version: 3.10.9
- Platform: Linux
- Do you use pgbouncer?: no
- Did you install asyncpg with pip?: no
- If you built asyncpg locally, which version of Cython did you use?: 0.29.33
- Can the issue be reproduced under both asyncio and
uvloop?: not tested, since unlikely
I would expect the datetime.datetime object has the same timezone as psql or python determines (CET).
Instead, asyncpg sets the timezone to UTC.
psql shell, displays UTC+1 = CET properly:
=> select now()::timestamptz;
2023-02-19 01:53:28.453411+01
python-shell:
>>> loop = asyncio.new_event_loop()
>>> c = loop.run_until_complete(asyncpg.connect(database='lol'))
>>> loop.run_until_complete(c.fetch("select now()::timestamptz"))
[<Record now=datetime.datetime(2023, 2, 19, 0, 54, 39, 597496, tzinfo=datetime.timezone.utc)>]
# ^ here, i'd expect it to be with tzinfo=datetime.timezone(datetime.timedelta(seconds=3600), 'CET')
# because python does the same thing when having timezoned timestamps:
>>> datetime.datetime.now().astimezone()
datetime.datetime(2023, 2, 19, 1, 57, 12, 260030, tzinfo=datetime.timezone(datetime.timedelta(seconds=3600), 'CET'))
- 主要语言
- Python
- 星标
- 8.1k
- 派生
- 469
- 平均合并
- 18 分钟
- 30 天内合并 PR
- 4
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
MagicStack/asyncpg 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
MagicStack/asyncpg#1357 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
MagicStack/asyncpg#1328 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
MagicStack/asyncpg#997 ·
-
Connection.close(timeout=) waits forever on a pending cancel when the server never acknowledges it 未关闭
难度 4/5 3-5 天 新手友好度 68/100
MagicStack/asyncpg#1356 ·
-
难度 5/5 一周以上 新手友好度 25/100
MagicStack/asyncpg#1355 · 3 个 reaction ·
查看 MagicStack/asyncpg 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 86/100
zostera/django-bootstrap4#894 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
use-agent-os/agent-os#3276 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
难度 2/5 1-3 小时 新手友好度 88/100
NousResearch/hermes-agent#117848 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
zilliztech/memsearch#759 ·