jjzjj

postgresql-9.4

全部标签

postgresql - pq : invalid input syntax for type double precision: "$1" with Golang

我正在尝试在我的GO程序中将一个简单的INSERT插入到postgresql数据库中。我的数字0是一个float64,我的数据库中有一列需要doubleprecision。我不知道我需要将数字转换成什么才能让数据库接受该值。 最佳答案 PostgreSQL驱动程序可以很好地处理将float64插入到double列中:tmp=#\dtestTable"public.test"Column|Type|Modifiers--------+------------------+-----------v|doubleprecision|和代码

postgresql - 如何在数据库/sql 库中使用 COALESCE?

我正在尝试将参数传递到注入(inject)安全的postgressql语句中。我在使用Go中的database/sql包的DB.Query传递参数时遇到了一些麻烦。这是Postgres注册的内容STATEMENT:SELECTmc.company_name_full,msc.company_id,msc.cdate,msc.value->>'n_rules',msc.value->>'pct_interfaces_classified'FROMmn_companyASmcINNERJOINmn_statistics_companyASmscON(mc.id=msc.company_id

postgresql - 如何创建一个在列中包含 slice 的表

我有一个看起来像这样的模型:typeInventorystruct{gorm.ModelLocationIDstringItems[]Item//thisisasliceofstructsCategories[]Category//thisisasliceofstructs}当我使用gorm为它创建一个表时,我没有项目或类别的列。我错过了什么? 最佳答案 因为数组在SQL中不支持列类型——至少大多数版本的SQL是这样——gorm不会为slice类型的字段创建列。但是,您可以在使用关联后创建您现在的关系结构。在这种情况下,has-ma

postgresql - PostgreSQL 查询中具有模式匹配语法的参数

这个问题在这里已经有了答案:GopostgresqlLIKEquery(6个答案)关闭1年前。我正在编写一个查询postgres数据库的golang程序。我想使用$1来提供值并且应该有模式匹配Db.Query("SELECT*FROMtablewherenamelike%$1%",user)它说:syntaxerroratornear"%"

sql - Golang sql 包查询比 PostgreSQL SQL 查询慢

我正在使用GolangSQL包来调用我的数据库。我正在使用准备好的语句,并且在列上有索引stmtHas:=db.Prepare(`SELECTvalueFROM`+tableName+`WHEREkey=$1;`)now:=time.Now()err:=db.stmtGet.QueryRow(key).Scan(&value)elapsed:=time.Since(now)fmt.Println(elapsed)这会打印-40.874782ms然而,与此相比,原始SQL查询花费的时间要少得多。EXPLAIN(ANALYZE,BUFFERS)SELECTvalueFROMtableNam

go - 如何查询和处理使用 go.uuid 创建并插入到 PostgreSQL 11 中的 UUID?

我在PostgreSQL表中插入了一个使用go.uuid创建的UUID:import("github.com/satori/go.uuid")funcmain(){usid:=uuid.Must(uuid.NewV4())fmt.Println("usid:=uuid.Must(uuid.NewV4")fmt.Println(usid.String())res,err:=stmt.Exec(cn,csn,ccn,id)iferr!=nil||res==nil{log.Fatal(err)}}sStmt:="insertintobasicuserinfo(cn,csn,ccn,appUs

postgresql - 如何将 pgtype.Int4Array(来自 pgx 库)转换为 []int64 Golang 类型?

我使用Go和Postgres(使用pgxdriver)在我的Postgres表中,我有一个包含整数数组的字段。我创建了一个变量来存储扫描后的整数数组。varidspgtype.Int4Array如何将ids转换为[]int64? 最佳答案 使用ids.AssignTo(&sliceOfInt64) 关于postgresql-如何将pgtype.Int4Array(来自pgx库)转换为[]int64Golang类型?,我们在StackOverflow上找到一个类似的问题:

postgresql - 如何获取 unique_constraint 违规的列名?

我正在使用pq驱动程序,我想知道为什么当我遇到唯一约束违规时pq.Error给出一个空列。我可以解析Detail但是Column是空的有什么原因吗?如果我可以从Column获取email而不是解析Detail会更好这是错误的样子:Severity:"ERROR"Code:"23505"Message:"duplicatekeyvalueviolatesuniqueconstraint"unique_users""Detail:"Key(email)=(user3@email.com)alreadyexists."Hint:""Position:""InternalPosition:""

postgresql - 如何在 Golang 中将 YYYY-MM-DD 字符串格式转换为时间戳?

如果这是一个微不足道的问题,我很抱歉。这就是我目前所拥有的。snapshot="2017-07-25"snapshotFilter:="ANDcdate=%s"snapshot,err:=time.Parse(time.RFC3339,snapshot)iferr!=nil{log.Fatal(err)}queryFilter=queryFilter+fmt.Sprintf(snapshotFilter,pq.FormatTimestamp(snapshot))这是输出2017/09/1209:59:34parsingtime"2017-07-25"as"2006-01-02T15:0

postgresql - 使用 Golang 查询 Postgres

使用go查询时,我对从Postgres收到的输出感到有些困惑。因为我对此很陌生,所以我什至很难为我遇到的这个问题形成正确的问题,所以我将在这里留下一个代码块,以及我收到的输出和我期望发生的事情。我希望这能让它更容易理解。与postgres数据库的连接似乎工作正常rows,err:=db.Query("SELECTtitleFROMblogs;")fmt.Println("output",rows)但是,这是我收到的输出。output&{0xc4200ea1800x4c0e200xc42009a3c00x4b4f90{{00}0000}false[]}正如我所说,我是postgres的新