问题标签 [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.
postgresql - 使用 `libpq' 在 PostgreSQL 中获取 SELECT 查询中涉及的所有表
是否可以使用 libpq 获取所有查询表的名称或(Oid)?如果存在通用标准 SQL 方式,我会更喜欢它。
c - Julia:Ptr{Void} 终结器错误
我正在研究 Julia,我正在尝试编写一个 libpq(PostgreSQL C 库)包装器。
CPQconnectdb
函数启动一个 PostgreSQL 连接,并返回一个指向连接结构的指针。libpq 没有公开连接结构,因为它没有用。连接完成后,必须使用 C 函数将其关闭PQfinish
,除其他外,该函数会注意释放结构内存。
所以我想我应该PQfinish
在 GC 完成连接时调用该函数,这是以下代码的目的(Julia 版本:0.3.0-744~ubuntu13.10.1):
但我得到这个错误:
我想我应该为PGconn
typealias 使用另一种类型,但我不知道是哪一种。任何的想法?
postgresql - 如何使用 PostgreSQL C 库 (libpq) 访问 HSTORE 列?
我找不到任何有关使用 C 库访问 HSTORE 数据的文档。目前我正在考虑在我的查询中将 HSTORE 列转换为数组,但是有没有办法避免这种转换?
sql - PostgreSQL 和 Libpq - 创建在不满足要求时打印一行的触发器
我真的需要帮助,这是为了我的大学项目,我被困住了。
最大的想法是在表上创建一个触发器,如果不满足值要求,它会向用户打印一条消息,并且不允许插入语句继续进行。
我已经有一个 doSQL(conn, "query") 函数,它将查询发送到数据库并打印任何结果(如果有的话)。任何 SELECT、UPDATE 或 INSERT 都可以很好地使用此函数,但是,我遇到了多行查询的问题。
例如这个:
返回一个错误,ERROR: syntax error at or near "END"
指出在END IF;
(不是后来的 END)。在此之后我有一个创建触发器语句
我想应该可以,但是当我不断弄乱我的函数时,它只会说该函数丢失了。我做错了什么功能?
编辑: doSQL 函数,根据要求:
对不起一些波兰名字,希望这不会很重要。在此先感谢您的帮助,这对我来说非常重要。
c - SQLError() 不返回 SQL_NO_DATA_FOUND
驱动程序从 7 升级到 9 后 SQLError() 未返回 SQL_NO_DATA_FOUND。
我的代码看起来像
每当我尝试访问丢失的表时,我都会得到 sqlstate 为 42P01 和 rc 为 SQL_SUCCESS 并且它没有退出循环。相同的代码适用于早期版本。
请让我知道我该如何继续。我需要分别处理每个状态吗?
c - Passing C variables into SQL command
I am a newbie in using libpq and work on a postgresql database.
So, far I can insert/update/etc a postgresql database using C program, provided I give the actual values inside the quotes.
I want to know how to pass a string/integer variable in the command??
E.g. The following code adds a column called "comment" containing "TRUE" default value into an existing table "people". I need to update the value of the "comment" by "FALSE" where the id=2.
I want the following output:
However, I am getting the following error:
Please help me with some suggestions.
postgresql - libpq:PGconn 连接失败后如何获取错误代码
给定以下代码。
在连接失败的情况下,有一种方法可以让错误代码能够区分密码错误和服务器关闭。
(我知道我可以收到错误消息,但我希望能够根据错误原因对错误原因做出反应)。
谢谢。
c++ - 使用 libpqxx 查看网络连接是否丢失
我正在编写一个 C++ 客户端程序,通过互联网查询 postgreSQL 数据库。我想在等待答案时处理该事件,发生网络连接问题,因此客户端无法从数据库服务器接收任何消息。但是当我手动关闭互联网连接时,即使我稍后再次打开连接,程序仍然处于空闲状态。有没有办法捕捉这个事件或至少在客户端设置一个超时,以便它停止等待它之后的答案?
sql - libpq 调用给出“UTF8”:0xe6 0x62 0x40
我是一名前 Digital Equipment Co 工程师(在许多非常大的系统上与 Rdb/RTR/VMS 一起工作,并且在 C 年有 10 年的分布式系统处理经验......但很久以前)。
在诊断问题时,我正在寻找有关此错误在实践中意味着什么的建议。这是 Postgres 错误消息
ERROR: invalid byte sequence for encoding "UTF8": 0xe6 0x62 0x40
环境 MAC Maveriks XOS、GNU C、Xcode、Postgres 9.3。(服务器端)与 libpq
我是 Postgres 的新手,但编写了 C 查询集以从 Postgres 中提取有关用户表、列、数据类型、长度和序数位置的所有元数据,将它们保存在我自己的目录中的内存中并生成所有简单的用户表动态查询。
该查询通过了查询准备调用。
防御性写作我检查了两次错误:
这是我生成的查询的解析器转储
这是失败的调用:
ERROR: invalid byte sequence for encoding "UTF8": 0xe6 0x62 0x40
我解决了utc_datetime
Postgres 期望YYYY-MM-DD HH:MM:SS
OSI 通用协调时间日期的日期格式问题,我正在输入它YYYY:MM:DD
,这个错误变成了下一个错误。(所以我的数组间接、索引等正在工作,因为 Postgres 打印了第五个参数的违规日期)
我正在编写明显的参数转储器来查看我正在喂它的内容,但我知道当我修复日期格式时错误消失时它得到了正确的日期。
UTF8 消息是来自文件名字符串还是双精度字段之一?
传递二进制文件是不是一个坏主意,只传递字符串可能会导致更少的问题?
我的架构最终会说 30 个表,这种类型的服务器端内存对齐错误非常令人担忧。我的目标是编写零 SQL 代码。