问题标签 [pygresql]

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 投票
1 回答
238 浏览

python - Python api 数据库连接如何工作?

我开始尝试使用 Python 处理数据库。当我连接到数据库并从中获取一些数据时,我试图了解该过程。

我认为它的工作原理是这样的:Python Api 使用 Python 代码来访问数据库管理系统 (PostgreSQL),而后者又访问数据库以获取所需的数据。

Python 代码 <-> Python Api (PyGreSQL) <-> DBMS (PostgreSQL) <-> 数据库

但也可能是这样的 Python 代码 <-> Python Api (PyGreSQL) <-> 数据库

或者完全不同的东西。提前致谢!

0 投票
1 回答
718 浏览

python - 无法在 Centos 上安装 PyGreSql

我正在执行以下操作以在 Centos 上安装 PyGreSql:

但我收到以下错误:

谁能告诉我如何解决这个问题?我在互联网上搜索了很多,但没有找到适合我的解决方案。

0 投票
1 回答
223 浏览

python - 使用 json_to_record() 向表 PostgresSQL 添加新行

我有两列的 table_A:

一行可能是:

我想编写一个函数,该函数将从 table_A 中取出一行并将新行插入 table_B。Table_B 有列:id integer、name VARCHAR、手机 VARCHAR、address TEXT、additional_info TEXT。

所以我的函数应该解析json字段并将每个值放在Table_B的相应列中(假设所有可能的列都存在于Table_B中)。

看起来我可以使用 json_to_record(json),但是如何将返回值插入 Table_B?

我正在使用 PyGreSQL 连接我的数据库。

0 投票
2 回答
953 浏览

python - 使用 pygresql(pg 模块)在语句中执行 SQL 选择

我正在编写一个 python 脚本来使用 pygresql 模块连接到 postgress 数据库。下面是代码

我正在尝试通过将元组作为参数传递来运行查询。查询如下所示:

但我不断收到错误“错误:在“%”或附近出现语法错误。

我能够使用 psycopg2 模块执行查询。我无法为 pg 模块传递元组参数。我一直是pgresql文档。我不确定我在哪里做错了。

仅供参考:我只需要使用 pygresql 模块。请帮忙。

0 投票
2 回答
203 浏览

python-3.x - AWS Glue Python Shell 脚本超时

我正在尝试使用 AWS Glue Python Shell 作业连接并读取本地数据源。我正在使用 Pygresql(捆绑在 Glue 上)和 Pandas。一切都在本地工作。

但是当我把这个工作推到 Glue 上时,数据库连接都超时了。为什么会这样?我需要用 VPC 做点什么吗?

0 投票
2 回答
229 浏览

python - 如何从 pygresql 中捕获特定异常?

我正在尝试改进我的错误处理,特别是我想处理来自 pygresql 的 IntegrityError 异常。

我收到错误“NameError: name 'IntegrityError' is not defined”所以​​我需要导入一些东西。这可能吗?我需要导入什么?

0 投票
0 回答
141 浏览

python - 通过 SSH 隧道连接到数据库时,PyGreSQL/pg 挂起

在我的 Python 脚本中,我希望能够通过 SSH 隧道连接到 Postgres DB。

我正在使用 sshtunnel 包创建隧道,并使用 PyGreSQL 连接到数据库。当我尝试建立数据库连接时, pg.connect 调用只是挂起。我根本没有收到任何错误。当我使用 psql 使用 sshtunnel 创建的隧道连接到数据库时,连接成功。

当我在 shell 中使用 ssh 预先创建隧道时,pg.connect 调用成功连接到数据库。

所以总结一下:

  • 在 Python/sshtunnel -> pg.connect 调用中创建的隧道挂起
  • 在 Python/sshtunnel -> psql 中创建的隧道工作正常
  • 使用 ssh 创建的隧道 -> pg.connect 调用成功

这似乎是 PyGreSQL 的一个问题,因为 psql 可以通过 sshtunnel 使用隧道访问数据库就好了。但是,我没有看到的 sshtunnel 包中的隧道可能有所不同。

这是我用来使用 SSH 创建隧道的命令: ssh -g -L <local_bind_port>:localhost:<remote_bind_port> -f -N root@myip

以下是我使用 SSH 隧道和 pg.connect 在 Python 中连接到数据库的代码

关于什么可能导致这个问题的任何想法?是否有任何日志等可以帮助识别问题?

谢谢。

编辑:

事实证明,如果我在一个 python shell 中使用 python/SSHTunnel 打开一个隧道,但在第二个 python shell 中使用 pg.connect 连接到该隧道,它会成功连接。因此,如果我在第一个 shell 中复制粘贴以下内容:

然后打开另一个外壳并从第一个外壳连接到隧道

连接成功

0 投票
1 回答
46 浏览

python - PyGreSQL 为单列选择语句返回意外结果

我有以下 PostgreSQL 数据库表:

当我运行以下代码时:

它工作正常。

但是当我尝试

我没有得到一个数字,而是:Row(max_id= 5)

我尝试了一种解决问题的解决方法:

但是像这样使用它似乎有点蹩脚。

我在这里做错了什么 - 在第二种情况下是否有不同的方法来迭代查询结果?

0 投票
2 回答
52 浏览

python-3.x - 如何使用 PyGreSQL 执行并行查询?

我正在尝试与 PyGreSQL 和多处理并行运行多个查询,但下面的代码挂起而不返回:

有什么办法让它工作吗?如果一个查询失败而另一个查询回滚,是否可以在同一个“事务”中进行 3 个正在运行的查询?

0 投票
1 回答
858 浏览

amazon-web-services - PygreSQL 是否可用于 AWS Glue Spark 作业?

我尝试使用 PygreSQL 模块

但它说在 AWS Glue Spark 上运行时找不到模块。

他们的开发人员指南https://docs.aws.amazon.com/glue/latest/dg/glue-dg.pdf说它可用于 Python Shell。

其他人可以证实这一点吗?是否有一个页面可以参考 Python 环境默认提供的库?是否有在 Spark Glue 作业上运行的 PostgreSQL 库的替代方案?我知道可以通过导入 S3 并在配置中添加路径来使用外部库,但我想尽可能多地避免手动步骤。