问题标签 [libpq]

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 投票
3 回答
7154 浏览

postgresql - PostgreSQL 为持久连接消耗大量内存

我有一个在 Windows 上使用 PostgreSQL 8.3 的 C++ 应用程序。我们使用 libpq 接口。

我们有一个多线程应用程序,其中每个线程打开一个连接并在没有 PQFinish 的情况下继续使用。

我们注意到,对于每个查询(尤其是 SELECT 语句),postgres.exe 的内存消耗都会增加。它高达 1.3 GB。最终,postgres.exe 崩溃并强制我们的程序创建一个新连接。

有没有人遇到过这个问题?

编辑:shared_buffer 当前在我们的 conf 中设置为 128MB。文件。

EDIT2:我们现在采用的解决方法是为每个事务调用 PQfinish。但是,这会稍微减慢我们的处理速度,因为每次建立连接都很慢。

0 投票
1 回答
459 浏览

c - libpq 以二进制形式发送整数

我有一个 libpq 程序,它经常将数字插入数据库。这些数字,我预计会变得非常大,存储在 uint64_t 类型中。我想将整数作为二进制发送到 libpq,但 Postgres 无法分辨出它的无符号数。有没有办法在 Postgres 或 libpq 中指定无符号整数?

0 投票
3 回答
2324 浏览

c - 将整数作为二进制发送时,PostgreSQL libpq“整数超出范围”错误

我正在尝试使用以下一些简单的代码将一些整数插入到 Postgres 表中。

我得到以下结果:

我很确定 int64_t 在任何健全的平台上总是适合 8 字节整数。我究竟做错了什么?

0 投票
1 回答
802 浏览

postgresql - 有没有办法列出 PostgreSQL 服务器?

目前我正在将客户端写入 PostgreSQL 服务器。我想列出在本地网络中运行 PostgreSQL 服务器的服务器的详细信息(IP 地址和端口号)。libpq 或 libpqxx 中有一些方法吗?

问候
德瓦拉·古达

0 投票
3 回答
5557 浏览

xcode - 使用 Libpq 将 iPhone 应用程序连接到 PostgreSQL

我需要为 iPhone 创建一个应用程序,该应用程序将使用 libpq 连接到 PostgreSQL 8.4 数据库。问题是我无法获得链接到 libpq 进行编译的简单 iPhone。但是,我能够获得作为常规 Mac 桌面应用程序的等效应用程序来编译并连接到 PostgreSQL,而不会出现任何问题。我在 Snow Leopard 上运行 Xcode 3.2。

我正在为 arm 和 x86_84 构建 libpq。arm build 用于真正的 iPhone,x86_64 用于 iPhone 模拟器。然后我创建了一个包含这两个文件的胖二进制文件,最后得到一个名为 libpq 的文件。这个文件是我在常规 Mac 应用程序中使用的文件,它工作正常,但在尝试构建 iPhone 应用程序时会导致问题。

这是我构建 libpq 时的构建脚本。

这是我尝试从 Xcode 中编译 iPhone 应用程序时的构建日志。

还有其他人遇到这个可以提供帮助吗?

感谢 StartShip3000

0 投票
1 回答
96 浏览

c - 随机消失的结构

我创建了一个 Objective-C 类来使用 libpq 与 PostgreSQL 交互。它主要工作,但我有一个小问题 - 连接似乎随机消失。

此类设置为在打开窗口时打开连接并在窗口关闭之前关闭该连接。在窗口的初始化代码中,我打开连接并收听通知,以便可以使用 PQfinnish() 关闭连接。

现在,如果我打开那个窗口,我可以运行任意数量的查询。但是,如果我关闭它并再次打开它,我会收到 EXC_BAD_ACCESS 错误。错误似乎在 libpq 内部,但我不知道我做错了什么——没有可遵循的示例,这使得遵循模式变得更加困难。

我相信连接对象似乎存在问题,但我无法准确找出所有诊断功能似乎都返回了正确的值。

Postgresql 8.0,在最新的 OS X、最新的 Xcode 和针对 10.5 的项目上运行

0 投票
1 回答
612 浏览

c - PostgreSQL 通知处理

我正在开发一个应该与 PostgreSQL 对话的 C 应用程序。现在我需要处理服务器发送的通知和警告,但我不知道如何让它工作。

(非常不清楚)文档说我们应该使用 PQsetNoticeReceiver 将方法设置为通知的接收者,因为默认接收者只是将通知转发到 PQnoticeProcessor 并打印到 stderr。

我已经定义了一个方法

我将它设置为启动时的默认通知接收器

在我的方法实现中,我只是将一些随机字符打印到屏幕上,但它没有被调用。逐步调试表明它被设置为默认通知接收器,但从未调用过。

有任何想法吗?

0 投票
2 回答
307 浏览

iphone - 强制 libpq 使用 10.5 编译

我需要用 10.5 编译 libpq 以便稍后在模拟器中使用。

我可以毫无问题地在设备中使用 libpq。

我强迫这个:

但我得到了错误:

MacOSX10.5 文件夹中不存在这个库,好吧,它不存在于我的整个硬盘中。

谢谢,

米。

0 投票
1 回答
2504 浏览

c - 如何使用 libpq (PostgreSQL) 将 PGresult 转换为自定义数据类型

我正在使用 C 中的 libpq 库来访问我的 PostgreSQL 数据库。所以,当我做 res = PQexec(conn, "SELECT point FROM test_point3d"); 我不知道如何将我得到的 PGresult 转换为我的自定义数据类型。

我知道我可以使用 PQgetValue 函数,但我不知道如何将返回的字符串转换为我的自定义数据类型。

0 投票
3 回答
5788 浏览

c++ - PostgreSQL 的 libpq:ARRAY[]-data 二进制传输的编码?

经过数小时的文档/板/邮件列表并且没有进展我可能会问你:我如何“编码”我的数据以使用 libpq 将其用于二进制传输PQexecParams(.)

简单变量只是大端顺序:

像这样还有double,int等......

但是阵列呢?

有没有以 PostgreSQL 的二进制格式传输 ARRAY 数据的工作示例?中的代码对backend/utils/adt/我没有多大帮助(除了我现在知道有一个 ARRAYTYPE,但不知道如何使用它们):-(

我只需要一个函数char* to_PQbin(float [] input, int length)来传递给paramValues[.]...

非常感谢,特巴斯

PS:转换简单变量(而不是 my htobe32(.))的建议方法是什么?