问题标签 [pg8000]
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.
python - 按字段名称访问 sqlalchemy 查询中的字段
我有一个突然不再工作的脚本。我同时升级了 sqlalchemy 和 pg8000,只进行了小幅升级,所以我不完全确定哪一个是罪魁祸首。
我有一个对外部 Postgres 数据库的查询,并将结果集重新插入到同样是 Postgres 的 Heroku 数据库中。我可以连接到外部数据库并对其进行查询,但是 Python 在尝试按字段名称访问特定字段时返回错误。但是,我可以按位置访问字段:
使用任一语法在最后一行引发错误。完整的堆栈跟踪是:
如何按字段名称访问行的数据?或者是否有可靠的方法来访问该行的字段?
python - 使用带有 SSL 的 sqlalchemy 和 pg8000 连接到数据库的正确方法是什么?
我对使用 SSL 连接到另一个 postgres 数据库的 sqlalchemy 和 pg8000 的文档和示例感到困惑。不需要私钥或任何东西。我正在尝试以require
模式连接 SSL。这是通过 SQL 客户端 (Datagrip) 连接到数据库的 SSL 设置的屏幕截图:
如您所见,用于输入密钥文件位置或密码的文本框都是空白的;我刚刚选择了模式为Require
.
现在在我的代码中,以下内容曾经工作但突然停止工作。
这是完整的堆栈跟踪
所以我想在 Python 调用中添加 SSL 参数,而不是像这样的环境变量:
我很确定错误中的 IP 地址被列入白名单以连接到数据库。
我一直在尝试寻找正确语法和用法的示例,但我感到困惑。传递给连接调用的正确参数是什么?
python - 对于 Azure 上的 postgres,在 pg8000 上执行非常慢的命令
我正在使用 pg8000 从 csv 文件更新 Azure 上我的 postgres 数据库中的数据,但执行速度非常慢,
这是我的代码
有谁知道我怎样才能提高速度?
csv 文件有 12,000 多个条目
python - PG8000 h 格式顺便说一句 -32768 到 32767
“errorMessage”:“'h' 格式需要 -32768 <= number <= 32767”,“errorType”:“error”,“stackTrace”:
这是错误消息,任何人都可以帮助解释这里发生了什么,除了 pg8000 之外我可以利用哪些其他库?
python - 使用 pg8000 的 Postgres COPY 流(错误:无法确定参数 $1 的数据类型)
我正在尝试实现一个 COPY 语句以将 pandas 数据帧推送到 Airflow DAG 中的 CloudSQL Postgres 数据库。我有一个限制:我只能使用 pg8000 驱动程序。我将此用作参考https://github.com/tlocke/pg8000#copy-from-and-to-a-file(我在此线程中找到了https://news.ycombinator.com/item?id =25402430 )
这是我的代码
我已经尝试了我能想到的一切(使用 DELEMITER 选项,传递文本而不是 csv ......)但我不断收到以下错误“无法确定参数 $1 的数据类型”
我知道连接有效,因为表已正确创建。错误发生在 COPY 语句上。
我怀疑提供流参数的方式存在问题,但找不到正确的语法。这可能会有所帮助https://www.kite.com/python/docs/pg8000.Cursor.execute
谢谢您的帮助!
python - Sql Alchemy Insert 语句插入失败,但没有错误
我正在尝试在 Sqlalchemy 中执行原始 sql 插入语句,当执行构造的插入语句但行没有出现在数据库中时,SQL Alchemy 不会引发错误。
据我所知,这不是语法错误(参见第 2 项),也不是引擎错误,因为 ORM 可以正确执行等效写入(参见第 1 项),它正在找到它应该写入的表也是(见第 3 条)。我认为这是一个事务未提交的问题,并试图解决这个问题(见第 4 点),但这并没有解决问题。是否可以创建嵌套事务,可以说什么会开始“第一个”?
谢谢你的任何答案。
一些背景:
我知道 ORM 促进了这一点并且已经使用了这个特性并且它可以工作,但是对于我们的应用程序来说太慢了。我们决定尝试对这个特定的写入函数使用原始 sql,因为它被调用的频率以及其他所有内容的 ORM。使用 ORM 的等效方法可以完美运行,并且两者都使用相同的引擎,所以这不会是引擎问题吧?
我已经发布了一个使用原始 sql 的方法直接构造到数据库的 SQL 示例,并且可以正常读取,所以我认为这不是语法错误。
它与数据库正确通信,并且可以找到表,因为表名和列名的任何语法错误都会引发程序错误,因此可以说它不仅仅是将东西扔进“空白”。
阅读后我的第一个想法是这是事务错误,并且正在创建事务而不是关闭事务,因此构造了执行语句以确保正确创建和提交事务。
所谓的“插入语句”已使用 sqlalchemy 的“文本”函数转换为文本,我不太明白为什么如果我将构造的字符串直接传递给执行语句,它不会执行,但如果它是相关的,请提及它.
其他可能相关的事情:Python3 在单个 ec2 实例上运行,而 postgres 数据库在另一个实例上运行。该表尤其是采用实时数据的 timescaledb 超表,因此需要非常快速的写入,但可能不相关。
目前使用 pg8000 作为方言,除了 psycopg2 之外没有特殊原因,在尝试使用 ORM 执行等效方法时抛出错误。
python - SQL Alchemy 在 IN 查询中出现 PG8000 异常:整数类型的输入语法无效:“{2,3,5,6,7}”
作品。
以下测试:
抛出异常:
那么如何传递一个列表以在 sql alchemy 的 IN 查询中使用。
python - 尝试将记录插入 posgtresql 时出现语法错误
当我尝试将记录插入 Postgresql 时,出现以下错误。
pg8000.exceptions.DatabaseError: {'S': 'ERROR', 'V': 'ERROR', 'C': '42601', 'M': '","' 或附近的语法错误, 'P': '345','F':'scan.l','L':'1150','R':'scanner_yyerror'}
下面是我收到错误的python代码片段:
有人可以帮我解决这个错误吗?
python - 写入谷歌云 postgresql 数据库的连接网络错误
我是 Web 开发的新手。我的任务是从 web api 下载大量数据,并将它们上传到谷歌云上的 postgres 数据库中。
因为数据量很大,所以我有一个for循环,逐部分刮取数据,将每一部分插入到云表中,最后commit一切。我使用 sqlalchemy 和 pg8000 来完成这项工作。
这是我的代码的基本结构:
for 循环成功运行了 12 个小时。然后我收到一个网络错误。这是第一部分。错误消息的其余部分很长,只是第一部分引起的一串错误。
任何人都可以帮助我阐明错误吗?
我的连接似乎刚刚超时。谁能帮助我更好地构建代码以避免在超时发生时丢失大量下载数据?
谢谢!