问题标签 [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 投票
2 回答
114 浏览

c - 用户终止程序时如何关闭初始化的连接

我用 C 语言编写了一个守护进程,它使用libpq库将数据发布到 PostgreSQL 数据库。它有这样的结构:

当有人杀死应用程序时,它会在 PostgreSQL 服务器上留下开放连接。我想避免这种情况。在 export(...) 函数中打开和关闭连接不是一个选项,因为此代码是性能相关框架的一部分。

0 投票
1 回答
1676 浏览

postgresql - PostgreSQL PQstatus 总是返回 CONNECTION_OK

我正在尝试使用 PQstatus 检查与 PostgreSQL 服务器的连接状态,即使拔下连接到服务器的电缆,它也总是返回 CONNECTION_OK。

0 投票
1 回答
30091 浏览

linux - g ++抛出文件无法识别:文件格式无法识别错误

使用命令出现以下错误g++ -o test -L . -l pq

gcc 版本 4.1.2 20070115 (SUSE Linux)

如果我尝试使用-l dbodbc而不是-l pq.

请注意,这test.c是一个简单的 hello world 程序。

提前致谢。

0 投票
1 回答
1464 浏览

c++ - Libpqxx 抱怨缺少引用

所以我有以下问题:

而且我无法弄清楚为什么它找不到参考,因为我安装了 libpq 并且它就在 /usr/lib64 中

所以如果我能得到任何帮助,那就太好了

0 投票
1 回答
2233 浏览

sql - PostgreSQL 的 libpq 和 SELECT FROM

我有如下代码(当然是部分的)。我可以成功连接到数据库,我可以做INSERT INTO所有这些事情,但是SELECT FROM永远无法显示结果。

为什么上面的代码没有SELECT * FROM db_name在终端打印结果?

0 投票
1 回答
233 浏览

postgresql - 将函数输出存储在数组中

我有以下功能可以正常工作,但我不确定它是否在数组中存储任何内容。

我所追求的是拥有一个数组,我可以从 javascript 端遍历并读取存储在数组中的每个值。这是正确的做法吗?

0 投票
1 回答
938 浏览

c - 尝试从 C 连接到 postgres 的问题

我正在尝试从 C 中创建与 libpq 的数据库连接。如果我使用 PQconnectdb 创建该连接,一切正常,但如果我使用 PQconnectdbParams 函数创建它,仅使用以不同方式存储的相同参数(请参阅libpq 参考为此),我得到一个分段错误错误,没有任何其他消息。有人可以帮我解决这个问题吗?

你可以在下面看到我的代码:

0 投票
4 回答
5465 浏览

c++ - 如何管理来自网络的双重字节序

我对这个问题的答案有一个很大的问题在 c++ 中交换位以获得双倍

然而,这个问题或多或少是我要寻找的:我从网络收到一个双精度,我想在我的机器中正确编码它。


在我收到的情况下,我int使用以下代码执行此代码ntohl

但是如果我收到一个double,我不知道该怎么做。

问题的答案建议这样做:

但是,如果我引用这个网站

The ntohl() function converts the unsigned integer netlong from network byte order to host byte order. When the two byte orders are different, this means the endian-ness of the data will be changed. When the two byte orders are the same, the data will not be changed.

相反,@GManNickG 对问题的回答总是std::reverse.

考虑到这个答案是错误的,我错了吗?(在字节序的网络管理范围内,ntohl尽管在 OP 问题的标题中没有准确地说明,但它的使用暗示了这一点)。

最后:我应该将我的double分成两部分,每部分 4 个字节,然后ntohl在这两部分上应用函数吗?还有更多规范的解决方案吗?

C 语言中还有一个有趣的问题,主机到网络双倍?,但它限制为 32 位值。答案说由于架构差异,双打应该转换为字符串......我还将使用音频样本,我是否真的应该考虑将所有样本转换为我的数据库中的字符串?(双打来自我通过网络查询的数据库)

0 投票
1 回答
1067 浏览

c - 在 PostgreSQL 中准备、存储、检索加密数据

有谁知道如何正确准备将 BYTEA 数据类型插入到 postgresql 中?我有一个从 libmcrypt 生成的加密字符串。我希望将加密存储在定义为“cdata bytea not null”的表列中

我的核心与命令行完美配合,但现在我希望将加密存储在 RDBMS 中,作为对文件的操作。代码片段如下:

必须有一种方法可以成功插入和查询加密字符串以进行解密。

提前致谢。

0 投票
1 回答
612 浏览

c - 使用 libpq 库将图像发送到 postgresql db 中的 bytea 列时出错

我正在用 C 编码并使用 Postgresql 的 Libpq 库,我想将 PNG 图像以“bytea”类型存储到数据库中。我在网上搜索了几个小时,找不到一个很好的例子来处理这项工作,所以想写在这里并寻求你的帮助。

我有 12 个要绑定的参数,其中一个是 PNG 图像。其余的是 char*,它们没有问题。

以下是我到目前为止所尝试的。(我正在编写代码的必要部分):

它编译没有问题,但是在运行时将图像存储到数据库时,会发生经典的运行时错误:

“..._debug.exe 中 0x6d3dc220 处的未处理异常:0xC0000005:访问冲突读取位置 0x000000007f91e508。”

似乎与内存处理有关。

无论我尝试了什么,我都无法让它运行,也看不到我的错误。我是否必须使用 Oids 通过 PQexecParams 将二进制数据发送到 db?还是我缺少的其他东西?如果有人帮助我,我真的很感激。

提前致谢。

编辑:我刚刚意识到,如果我使用 Insert 语句,它工作得很好,但这个函数没有。通常它可以工作。奇怪的。