暂无图片
postgresql 是不是数组只能更新一行?
我来答
分享
暂无图片 匿名用户
postgresql 是不是数组只能更新一行?

不能更新数组中的某个字段?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
zhuzhijiao

通过update更新整个数组或数组的某些元素。

数组值可以整个被更新,也可以只更新数组中的单个元素。

更新整个数组值的示例如下:

postgres=# select * from testtab09;
 id |           col1
----+---------------------------
  1 | {{1,2,3},{4,5,6},{7,8,9}}
(1 row)

postgres=# update testtab09 set col1='{{10,11,12},{13,14,15},{16,17,18}}' where id=1;
UPDATE 1
postgres=# select * from testtab09;
 id |                col1
----+------------------------------------
  1 | {{10,11,12},{13,14,15},{16,17,18}}
(1 row)
复制

只修改数组中的某个元素值的示例如下:

postgres=# update testtab09 set col1[2][1]=100 where id=1;
UPDATE 1
postgres=# select * from testtab09;
 id |                col1
----+-------------------------------------
  1 | {{10,11,12},{100,14,15},{16,17,18}}
(1 row)
复制

注意,不能直接修改多维数组中某一维的值:

postgres=# update testtab09 set col1[3]=100 where id=1;
ERROR:  wrong number of array subscripts
postgres=# update testtab09 set col1[3]='{200,300}' where id=1;
ERROR:  invalid input syntax for type integer: "{200,300}"
LINE 1: update testtab09 set col1[3]='{200,300}' where id=1;
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
在postgresql里面terminate掉进程,有没有出现过数据库进入recovery模式的情况?
回答 1
你可能是用了pgpoolII
postgreSQL 清空表数据后,报错:ERROR:cache lookup failed for type 23
回答 2
解决了么
pg如何创建组合分区
回答 1
createtableCHSRVFEEDBACK(SURVEYIDVARCHAR(32)notnull,ITEMIDVARCHAR(32)notnull,OPERIDVARCHAR(32)notnul
pg中某个库中存储过程有哪些,如何用数据字典中查到?
回答 2
psql使用快捷命令:\dfp
PG:在列上创建索引后,仍使用顺序扫描,怎么才能绕过?
回答 1
已采纳
要看表结构和索引的列的区分度。如果区分度较好。比如你是唯一的,那么不会出现你说的情况。所以要看实际情况。
在一个高并发的PostgreSQL环境中,你观察到系统在高峰时段遇到了锁等待的问题。为了更好地理解和解决这个问题,下面哪个工具或特性最有助于分析和诊断事务间的锁竞争情况?
回答 1
已采纳
A.使用pglocks和pgstatactivity视图结合查询
pg中的行锁的存放地方再那里?
回答 1
有一个函数pglockstatus基于这个函数有一个视图pglocks就是简单封装了这个函数 CREATEORREPLACEVIEWpgcatalog.pglocksASSELECTlock
postgresql官方有没有performance tuning guide?
回答 1
看执行计划
pg中如何使用了绑定变量,直方图还能用吗?
回答 2
可以参考这篇文章:关于PostgreSQL的绑定变量窥视的问题详解
postgresql 里面在更新一条数据的一个数组字段时,一直卡住,这个字段上面有gin索引,后台进程等待io,一直在读文件。 这是什么情况?
回答 1
通过pgstatactivity.waitevent字段可以查询具体的等待事件名称。结合数据量,系统负载,IO子系统吞吐能力综合分析一下。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~