首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgREST / PostgreSQL不能放大字符串缓冲区消息

PostgREST / PostgreSQL不能放大字符串缓冲区消息
EN

Stack Overflow用户
提问于 2019-06-22 09:28:02
回答 3查看 7.6K关注 0票数 1

我在运行的postgREST API上遇到了无法放大的字符串缓冲区消息。我想有些表太大了,无法成功地使用API。

我使用来自https://hub.docker.com/r/postgrest/postgrest的docker / PostgREST容器,其版本为PostgREST 5.1.0。

所有操作都如预期的那样,但是如果表的大小变得太大,我会收到以下错误消息。

代码语言:javascript
复制
hint    null
details "Cannot enlarge string buffer containing 1073741822 bytes by 1 more bytes."
code    "54000"
message "out of memory"

我无法确定它何时起作用。是否有可能放大某个配置文件中的字符串缓冲区,还是这是硬编码的?

使用API时表大小是否有任何限制。到目前为止,我还没有在文档中找到任何信息。

===========更新

postgres日志提供了以下SQL查询:

代码语言:javascript
复制
WITH pg_source AS (
  SELECT "public"."n_osm_bawue_line".* 
  FROM "public"."n_osm_bawue_line"
) 
SELECT null AS total_result_set, 
       pg_catalog.count(_postgrest_t) AS page_total, 
       array[]::text[] AS header, 
       coalesce(json_agg(_postgrest_t), '[]')::character varying AS body 
FROM ( 
  SELECT * 
  FROM pg_source
) _postgrest_t

我使用以下postgres版本:

代码语言:javascript
复制
"PostgreSQL 11.1 (Debian 11.1-1.pgdg90+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-26 00:03:15

除非您重新编译PostgreSQL,否则无法升级限制(定义的这里)。

我的建议是尽量减少有效负载的大小(您确定需要所有的数据吗?)或在多个请求中获取所有有效负载。

使用PostgREST,您可以执行垂直过滤(只需选择所需的列)或分页,以减少在一个请求中获得的行数。

票数 3
EN

Stack Overflow用户

发布于 2019-06-23 05:41:26

错误消息来自PostgreSQL。PostgREST只是将消息封装在JSON中并发送HTTP。

作为查找问题的第一步,查看触发错误的确切HTTP请求是什么。

然后,启用PostgreSQL测井并重复请求,检查日志,然后查看导致此错误的SQL查询是什么。通过pgAdmin或psql运行查询,以确保得到了有问题的查询。

用你的调查结果更新你的问题。SQL查询将是继续所需的。

之后,您可以在问题中添加postgresql标记。

票数 0
EN

Stack Overflow用户

发布于 2021-05-21 03:22:33

由于各种原因,导入的文件总是有损坏或格式错误的可能性。

我只是碰巧在我的例子中发现,我的文件有一些类似于不正确的行尾(在这里没有必要),这导致整个文件显示为一行,从而导致明显的结果。在您的情况下,可能有类似的东西需要find+replace类型的解决方案。

为了其他人的利益,我用它来解决这个问题:

tr -d‘0’< bad_file.csv > bad_file.csv.fixed

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56714274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档