postgresql-9.4相关内容
我有一张这样的桌子; CREATE TABLE 测试 (id BIGSERIAL 主键,数据 JSONB);插入测试(数据)值('[1,2,"a",4,"8",6]');-- id = 1插入测试(数据)值('[1,2,"b",4,"7",6]');-- id = 2 如何在没有 PL/* 的情况下将元素 data->1 和 data->3 更新为其他内容? 解决方案 您不能直接操作
..
我正在尝试以下查询: SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM 更新 LIMIT 5; (+1.0 只是为了强制转换为浮动.我的实际查询要复杂得多,这个查询只是问题的一个测试用例.) 我收到错误: 错误:运算符不存在:jsonb + numeric 如果我添加显式转换: SELECT (json_data->'p
..
我有一个以 Postgresql 9.4 作为后端的 rails 项目.我有这样的专栏: t.json :slot_details, null: false, default: {} 如何将其从 JSON 更改为 JSONB?我是否应该添加索引并将其更改为 JSONB? 解决方案 这是它如何与 Rails 4.2 配合使用 t.jsonb :slot_details, index:
..
用户 postgres 正在运行一个进程,该进程在 Centos 机器中以 100% 的使用率占用所有 CPU,postgresql 服务未运行,因此无法进行查询. 当我尝试停止进程时,它会自行重新启动.然后进程的名字有点奇怪. 解决方案 恭喜! 通过将具有弱超级用户密码的数据库暴露给互联网,您邀请某人闯入并为自己的目的使用您的 CPU,可能 挖掘加密货币. 从互联网上取
..
我在 Postgres 9.4 中使用下表: Column │ Type │ Modifiers──────────────────┼────────────────────────┼──────────────────────────id │ integer │ not null 默认practice_id │ 字符变化(6) │ 不为空日期 │ 日期 │ 不为空pct_id │ 字符变化(
..
查看 Postgres 9.4 数据类型 JSONB 的文档,我不太清楚如何对 JSONB 列进行更新. JSONB 类型和函数的文档: http://www.postgresql.org/docs/9.4/静态/函数-json.htmlhttp://www.postgresql.org/docs/9.4/static/datatype-json.html 作为例子,我有这个基本
..
我的 PostgreSQL 9.4 数据库受到 BDR: https://github.com/2ndQuadrant/bdr/issues/309 简而言之,BDR 中的错误导致 pg_depend 系统目录.现在,当我使用 pg_dump 时,对象被乱序转储,如果没有手动编辑就无法使用转储. 有没有办法让PostgreSQL重建pg_depend中的依赖,而不用从头重建数
..
我想在 postgreSql 中的表中的 json 对象上使用 where 条件.例如,我需要如何执行此操作:我有一个表“test",它有三列 name(varchar)、url(varchar)、more(json).我需要检索 css21Colors = Purple 的日期.more 是一个 json 类型,下面是 more 字段的值. 请让我知道查询相同的语法应该是什么? more
..
我正在尝试编写一个查询,该查询返回任意大小的代表性数据样本.我想通过只选择 nth 行来做到这一点,其中 n 使得整个结果集尽可能接近任意大小. 我希望这在结果集通常小于任意大小的情况下起作用.在这种情况下,应该返回整个结果集. 我发现了这个问题,它显示了如何选择每个 n第行. 这是我目前所拥有的: SELECT * FROM (SELECT *, ((row_number()
..
我有一些关于 postgres 函数和事务如何工作的问题. 目前我的函数是这样的: CREATE OR REPLACE FUNCTION test_function(some_id 字符变化)返回字符变化 AS$BODY$开始S1;S2;S3;..锡;返回 some_id;结尾;$BODY$语言 plpgsql 易失性成本 100; 语句可以是基于 some_id 的 INSERT、UP
..
我有一张表,我希望那 1 列只接受小写字符串,并且没有特殊字符,例如 Ñóáöäë 等... 无论如何要将此约束添加到列中? 创建表律师(id 序列主键,名称 VARCHAR 非空,url_name VARCHAR 非空,性别 VARCHAR(1) 检查 (性别在 ('m','f')) NOT NULL); 我要添加约束的列是 url_name 解决方案 将所需的字符放入此 tr
..
我正在使用 AWS Aurora Postgres 并使用 DMS 从 RDS postgres 迁移到 Aurora PG.为了执行 FULL LOAD,我想在所有对象上禁用外键约束和触发器.我可以禁用触发器,但找不到禁用约束的方法. 以下不起作用: ALTER TABLE so_items DISABLE CONSTRAINT so_items_so_id_fkey; 它抛出
..
我有一个变量“x",它在临时表中是 varchar,但它在目标表中设置为布尔值,它具有“真"和“假"值.如何在 postgresql 中将 varchar 转换为 boolean? 解决方案 如果 varchar 列包含 其中一个字符串(不区分大小写): t、true、y、yes、on、1 f、false、n、no、off、0 您可以简单地将其转换为布尔值,例如: sele
..
尝试更新具有 varchar 数据类型的列,例如'1950-08-14' 到 date 数据类型使用 UPDATE tablename SET columnname = to_date(columnname, 'YYYY-MM-DD'); 或 ALTER TABLE tablename ALTER COLUMN columnname TYPE DATE USING to_date(colum
..
我有一个旧的 MSSQL 过程需要移植到 PostgreSQL 函数.基本上,SQL 过程包含在选择语句上的 CURSOR 中.对于每个游标实体,我有三个基于当前游标输出的选择语句. FETCH NEXT FROM @cursor INTO @entityId而@@FETCH_STATUS = 0开始SELECT * FROM table1 WHERE col1 = @entityIdSELEC
..
我正在运行一个查询,该查询随着添加记录而逐渐变慢.通过自动过程(bash调用psql)连续添加记录.我想纠正这个瓶颈;但是,我不知道我最好的选择是什么. 这是pgBadger的输出: 与表"Foo" 具有一对多关系: CREATE TABLE"Foo"("FooID"串行主键,"ParentID" int4不是空引用"Parent"("ParentID"),"Details1" VARC
..
在使用WITH子句将Oracle Merge迁移到Postgres时,我遇到了问题. 下面是ORACLE的示例代码: SELECT * FROM源;身份证明---------- ---------- -----------------------1 20 1级描述2 10 2级描述3 20 3级描述4 10 4级描述5 20 5级描述 目标表如下: SELECT * FROM目标
..
创建表public.orders( orderID串行主键, orderdate时间戳记NOT NULL ); 创建表public.orderdetails( orderdetailID串行主键, orderID整数引用public.orders(orderID), item varchar(20)NOT NULL, 数量INTEGER NOT NULL );
..
我正在尝试使用\ COPY命令将TSV数据从文件加载到Postgres表中. 这是示例数据行: 2017-11-22 23:00:00 "{\"id\":123,\"class\":101,\"level\":3}" 这是我正在使用的psql命令: \COPY bogus.test_table (timestamp, sample_json) FROM '/local
..
过花, 我有一个JSON数组项目,例如(PostgreSQL 9.4): [{name:“ foo”}, {name:“ bar”}, {name:“ baz”}] 我想要的是将所有项目的名称连接到 tsvector 如果我运行: SELECT to_tsvector(array_to_string(array(SELECT jsonb_a
..