草庐IT

postgresql_psycopg

全部标签

go - 从 PostgreSQL 查询整数数组总是返回 []uint8

采用带有整数数组的简单PostreSQL数据库:CREATETABLEfoo(idserialPRIMARYKEY,barinteger[]);INSERTINTOfooVALUES(DEFAULT,'{1234567,20,30,40}');使用pq,这些值出于某种原因被检索为[]uint8数组。documentation表示整数类型作为int64返回。这是否也不适用于数组?db,err:=sql.Open("postgres","user=a_userpassword=your_pwddbname=blah")iferr!=nil{fmt.Println(err)}varret[]

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"$1"

postgresql - Google App Engine Golang 连接到 Cloud SQL Postgres unix 拨号没有这样的文件或目录

大家好,我在将我的golang应用程序连接到云sqlpostgres实例时遇到了问题。我刚刚完成了他们在GoogleCloudPlatform中的教程和示例代码,但它似乎不起作用。我只有两个文件app.yaml和main.go只是为了测试连接:应用.yamlruntime:goapi_version:go1env:standardenv_variables:CLOUDSQL_CONNECTION_NAME:bxustl2019proj:asia-east1:sqlstlbxuCLOUDSQL_USER:ustldbbxuCLOUDSQL_PASSWORD:bxuuserstldbCLO

json - golang lib/pq postgresql 创建动态更新语句

成功提交用户详细信息后,我从客户端获得了一个JSON。可以跳过JSON中的某些元素,因为它们未更新。在Golang服务器端,我定义了一个等效的结构。服务器成功地将JSON字节编码到结构中。typeuserstruct{Id*int64`json:",omitempty"`Name*string`json:",omitempty"`Age*int64`json:",omitempty"`}如何根据可用的JSON元素创建动态更新语句?例如,我可能会单独获取Id和Age。我如何动态创建更新语句,例如updateusersetage=$1whereid=$2另一次可能是Id和Name。

postgresql - 如何为 go-pg 中的每个查询动态设置表名?

我有一堆类似的临时表,我正在尝试使用go-pg查询它们的ORM。我找不到在选择期间动态更改查询表的方法:import"gopkg.in/pg.v4"typeMyModelstruct{TableNamestruct{}`sql:"temp_table1"`Idint64Namestring}varmymodels[]MyModelerr:=db.Model(&mymodels).Column("mymodel.id","mymodel.name").Select()这将查询在模型的TableName中定义的temp_table1。有没有办法将表名作为参数传递,以便我可以查询temp_t

postgresql - 为什么这个 sqlx 的 copyin 语句挂了?

我编写了一个玩具应用程序来试验通过sqlx使用Postgresql。我使用进行了批量插入pq.CopyIn作为准备好的语句的内容stmt,_:=tx.Preparex(pq.CopyIn(tablename,column,column,...)然后我将继续向正在创建的批量插入添加行。tx.Exec(...,...,...)然后最后执行preparedstatementstmt.Exec()这之前工作得很好,但现在我回到它并尝试执行这段代码,它卡在stmt.Exec我是不是在我的代码中遗漏了某些东西,还是这一切都与数据库引擎有关,没有响应。这是我的完整代码。packagemainimpo

postgresql - Postgres 中的每个事务是否可能有多个连接? Golang 用法

我需要在单个事务范围内使用多个连接同时填充Postgres中的表。可能吗?我看不出有什么办法可以避免这个瓶颈。谢谢 最佳答案 我相信交易不需要。但如果非常想-您可以制作一个暂存表,用几个例程填充它,然后在事务中通过使用这样的“从选择插入”来批量传输数据 关于postgresql-Postgres中的每个事务是否可能有多个连接?Golang用法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

postgresql - 创建新结构并将其附加到一对多关系中的数组

我正在尝试以一对多关系将新项目附加到数组。问题是其中一个ID始终未定义,并且我要附加到的模型没有得到更新。我有以下模型:typeStationstruct{gorm.ModelNamestringMeasurements[]MeasurementPlantIDuint64PlantPlant}typeMeasurementstruct{IDuint64`gorm:"primary_key"`StationIDuint64TempSensorfloat32LightSensorfloat32HumiditySensorfloat32CreatedAttime.Time}typePlant

postgresql - 如何避免 0(零)int 变成 Postgres "null"值并违反 "not null"约束?

在Go中,我将JSON解码/解码为一个ID字段类型为int的结构。然后我尝试使用go-pg将这个结构插入到PostgreSQL数据库中,并将ID列作为主键(具有非空约束)。第一个条目的ID为0。在Postgres文档中,它指出0可以作为主键的值。但是,我不断收到错误消息:"ERROR#23502nullvalueincolumn"number"violatesnot-nullconstraint".看起来0在被解码为int值时变成了Go的“零值”。然后它作为null值插入到Postgres中。任何有关我如何避免这种情况的提示都将不胜感激。typeAccountstruct{Number

postgresql - docker postgres pgadmin 本地连​​接

我已经用nginx、php和postgres创建了一个ubuntu镜像。我想将我当前镜像中的postgres数据库与位于我本地计算机上的pgadmin连接起来。我曾尝试使用dockerinspector尝试使用图像ip与我的本地pgadmin建立连接,但没有多大成功。我还尝试在本地配置一些端口以使连接正常工作。 最佳答案 这是一个有效的问题,不知道为什么人们会觉得“似乎无法回答这个问题”。所以,这就是我如何做你想做的事情:从DockerHub拉取postgres镜像dockerpullpostgres:latest使用以下命令运行容