草庐IT

postgresql-contrib

全部标签

postgresql - 将数组插入 Postgresql 数据库

我希望能够将一个bigints数组写入我在Go中用于历史记录的表中。不幸的是,我不能,当我执行错误sql:convertExecargument#1'stype:unsupportedtype[]int64,aslice时抛出。这是我正在做的,为简洁起见编辑:typeCardstruct{cidint64}typeTransactionstruct{tid,cardidint64productids[]int64salepointintcardkeystring}funclogPurchase(card*Card,t*Transaction){_,err:=db.Exec("INSER

postgresql - Go:如何使用 NamedExec() 在 Postgresql 上获取最后一个插入 ID

我使用jmoiron/sqlx用于在我的Go应用程序中与我的PostgreSql服务器通信的库。在我的应用程序的某个地方,我有以下代码:sqlQuery:=`INSERTINTOtable_to_insert(code,status,create_time,create_by)VALUES('',0,CURRENT_TIMESTAMP,0)RETURNINGid`datas,err:=tx.NamedExec(sqlQuery,structToInsert)问题:如何使用tx.NamedExec()的返回值获取最后一个插入ID?我试过datas.LastInsertId()但它总是返回

postgresql - 如何查询 JSON 元素

假设我有一个Postgres数据库(9.3),并且有一个名为Resources的表。在Resources表中,我有字段id是int和data这是JSON类型。假设我在所述表中有以下记录。1,{'firstname':'Dave','lastname':'Gallant'}2,{'firstname':'John','lastname':'Doe'}我想要做的是编写一个查询,该查询将返回所有记录,其中数据列具有一个json元素,其姓氏等于“Doe”我试着写这样的东西:records=db_session.query(Resource).filter(Resources.data->>'l

python - 在 Flask-sqlalchemy 和 Postgresql 中使用 JSON 类型

背景:我正在构建一个Flask应用程序,并且我已将我的数据存储到一个postgresql数据库和一个JSON列类型中。任务:在我的View函数中,我想通过JSON列中的{Key:Value}订购数据库查询已完成:我已成功在psql命令行中执行此查询,例如使用以下命令:select*fromtargetwherecast(product->>'profit'asfloat)>100orderbycast(product->>'salesrank'asinteger)asc;问题:我无法在我的代码中复制此查询(请参阅下面额外信息部分中的模型代码)fromappimportapp,dbfro

sql - JSON 上的 PostgreSQL 索引

使用Postgres9.4,我想在json列上创建一个索引,该索引将在搜索列中的特定键时使用。例如,我有一个带有json列“动物”的“农场”表。animals列有一般格式的json对象:'{"cow":2,"chicken":11,"horse":3}'我已经尝试了一些索引(分别):createINDEXanimal_indexONfarm((animal->>'cow'));createINDEXanimal_indexONfarmusinggin((animal->>'cow'));使用gist((animal->>'cow'))在农场创建INDEXanimal_index;我想运

sql - Postgresql 中的 `->>` 和 `->` 有什么区别?

->>和->在SQL中有什么区别?在本帖(Checkiffieldexistsinjsontypecolumnpostgresql)中,答主基本推荐使用,json->'attribute'isnotnull而不是,json->>'attribute'isnotnull为什么使用单箭头而不是双箭头?以我有限的经验,两者都做同样的事情。 最佳答案 ->返回json(或jsonb),->>返回text:witht(jo,ja)as(values('{"a":"b"}'::jsonb,('[1,2]')::jsonb))selectpg_t

sql - 如何在 json 字段类型 postgresql 中查询空值?

我在postgresql中有一个json类型的字段。但是我无法选择特定字段为空的行:代码:SELECT*FROMjson_array_elements('[{"name":"Toby","occupation":"SoftwareEngineer"},{"name":"Zaphod","occupation":"GalacticPresident"},{"name2":"Zaphod","occupation2":null}]')ASelemwhereelem#>'{occupation2}'isnull这应该可以,但我收到此错误:ERROR:operatordoesnotexist:

json - PostgreSQL 嵌套 JSON 查询

在PostgreSQL9.3.4上,我有一个名为“person”的JSON类型列,其中存储的数据格式为{dogs:[{breed:,name:},{breed:,name:}]}.我想在索引0处检索狗的品种。这是我运行的两个查询:不起作用db=>selectperson->'dogs'->>0->'breed'frompeoplewhereid=77;ERROR:operatordoesnotexist:text->unknownLINE1:selectperson->'dogs'->>0->'bree...^HINT:Nooperatormatchesthegivennameanda

json - PostgreSQL 中 JSON 数据类型的大小限制

有人知道PostgreSQL9.2中JSON数据类型的大小有什么限制吗? 最佳答案 查看PostgreSQL9.2.1的源代码:Source:postgresql-9.2.1\src\backend\utils\adt\json.c:/**Input.*/Datumjson_in(PG_FUNCTION_ARGS){char*text=PG_GETARG_CSTRING(0);json_validate_cstring(text);/*Internalrepresentationisthesameastext,fornow*/PG_

sql - PostgreSQL:从 JSON 列中删除属性

我需要从json类型列中删除一些属性。table:CREATETABLEmy_table(idVARCHAR(80),datajson);INSERTINTOmy_table(id,data)VALUES('A','{"attrA":1,"attrB":true,"attrC":["a","b","c"]}');现在,我需要从data列中删除attrB。像altertablemy_tabledropcolumndata->'attrB';这样的东西会很好。但是使用临时表的方法也足够了。 最佳答案 更新:对于9.5+,您可以将显式运算