草庐IT

PostgreSQL-psql

全部标签

postgresql - Postgres 中的 Go 和 IN 子句

我正在尝试使用pqdriver对Go中的PostgreSQL数据库执行以下查询:SELECTCOUNT(id)FROMtagsWHEREidIN(1,2,3)在哪里1,2,3在slicetags:=[]string{"1","2","3"}处传递.我尝试了很多不同的方法,例如:s:="("+strings.Join(tags,",")+")"iferr:=Db.QueryRow(`SELECTCOUNT(id)FROMtagsWHEREidIN$1`,s,).Scan(&num);err!=nil{log.Println(err)}结果为pq:syntaxerroratornear"$

postgresql - 创建函数未终止的美元引号字符串

我正在尝试用Goose创建这个函数使用postgres(pqlib)数据库。我的代码如下:CREATEORREPLACEFUNCTIONadd_userlocation(user_idINT,location_idINT)RETURNSVOIDAS$BODY$BEGINLOOPUPDATEuserslocationsSETcount=count+1WHEREuserid=user_idANDlocationid=location_id;IFfoundTHENRETURN;ENDIF;BEGININSERTINTOuserslocations(userid,locationid,coun

postgresql - 将 Postgresql 数组直接读入 Golang Slice

我有一个查询,它返回一行,其中包含一个字符串数组(charactervarying[]):{http://wp.me/p62MJv-Jc,http://tyrant.click/1LGBoD6}是否有任何简单的方法可以将其直接读入Golangslice?例如vararr[]stringforrows.Next(){rows.Scan(&arr)fmt.Println(len(arr))}生产:0 最佳答案 正如Victor在原帖评论中提到的,this帖子通过对pq.Array()的解释很好地回答了这个问题。直接取自链接:Toread

postgresql - Postgres 删除数据库错误 : pq: cannot drop the currently open database

我正在尝试像这样删除当前连接的数据库,但出现此错误:pq:cannotdropthecurrentlyopendatabase我真的不明白如果我必须关闭我的连接,我应该如何删除数据库,因为我认为我将无法使用dbConn.Exec来执行我的DROPDATABASE语句?dbConn*sql.DBfuncstuff()error{_,err:=dbConn.Exec(fmt.Sprintf(`DROPDATABASE%s;`,dbName))iferr!=nil{returnerr}returndbConn.Close()}我想我可以连接到不同的数据库,然后在该连接上执行它,但我什至不确定

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