0

我正在尝试使用 postgres C api 函数从查询中获取列大小。

CREATE TABLE char_length_test (c char(3), vc varchar(5), t text)

例如我有这个查询:

SELECT c, vc, repeat(c, 1), t from char_length_test

我得到了正确的类型,但我不知道如何获得列大小。我试过使用PQfsizeand PQgetlength

  • PQfsizereturn -1,这意味着根据 postgres 文档的可变大小,而我需要列大小。
  • PQgetlength返回0,这很好,因为表不包含任何数据,尽管它不是列大小。

我期望获得 , 'vc' 的长度3c函数5的大值repeat(c, 1)t

老实说,我期待的功能类似于mysql_fetch_fields.

4

1 回答 1

0

我认为您正在寻找PQfmod

修饰符值的解释是特定于类型的;它们通常表示精度或大小限制。值 -1 用于表示“无可用信息”。大多数数据类型不使用修饰符,在这种情况下,值始终为 -1。

于 2013-04-19T11:02:17.900 回答