草庐IT

heroku-postgres

全部标签

postgresql - 在 Golang 中使用 postgres 获取事务提交前的最后一个 ID

我有2个insert查询。在第二个insert查询中,我需要第一个insert返回id。我将这些查询作为事务处理,因为它们相互依赖。那么,是否有可能在Golang的postgres中提交事务之前获取最后插入的id。 最佳答案 Postgres支持returning关键字来选择插入的id:INSERTINTOYourTable(col1,col2)VALUES('Value1','Value2')RETURNINGid; 关于postgresql-在Golang中使用postgres获取事

ssl - 如何在 Heroku 上使用 Go 修复 TLS 握手错误?

我有一个简单的代理,它在同一端口上监听HTTP和HTTPS连接。但是我看到似乎是由Heroku路由器引起的奇怪的TLS握手错误:heroku[router]:sock=backendat=errorcode=H18desc="ServerRequestInterrupted"method=GETpath="/favicon.ico"host=banana.camprequest_id=f56144c8-e480-476a-90b8-429b490f1ff5fwd="24.67.185.77"dyno=web.1connect=0msservice=1msstatus=503bytes=

sql - Postgres无限 self 加入

所以我有一篇文章,以及对这篇文章的“评论”..评论允许人们回复..你可以回复回复..等等,这意味着最深的树根是N表格外观的快速模型Comments(id,news_id,user_id,body,likes)Replies(id,parent_id)-->idhereis=Comments.idUser(id,username,password)News(id,title,body,image)有没有办法查询PostgresDB给我类似的结果因此Replies表中的所有parent_id为空的内容都是“主要”评论(又名不是回复)。如果可能的话,我希望children字段在自身内部填充(

postgresql - Go语言,Postgres : cannot get oid after Scan

如果表accounts我有2列:oid和balance在接下来的代码中,我尝试提取oid,然后提取balance://variable`id`comesfromananotherpartsqlstr:=`SELECT*`+`FROMaccounts`+`WHEREoid=`+id+`;`q,err:=db.Query(sqlstr)iferr!=nil{fmt.Println("Error:GetAccount\n",err)returnAccount{},err}deferq.Close()var_idstringvarbalfloat64q.Next()q.Scan(&_id)fm

postgresql - 扫描 Postgres 复合类型

我定义了一个复合类型用于表中:CREATETYPEdurationAS(hoursNUMERIC,minutesNUMERIC);CREATETABLEfoo(idSERIALPRIMARYKEY,my_durationduration);INSERTINTOfoo(id,my_duration)VALUES(1,ROW(1,30));如何使用database/sql扫描它?当我用实现扫描仪接口(interface)时func(d*Duration)Scan(valueinterface{})error{log.Println(value)ifvalue==nil{*d=Duratio

postgresql - Postgres : Optimising concurrent same row updates

问题我正在使用PostgreSQLv10+golang,我认为这是一个非常常见的SQL问题:我有一个“计数器”表,它有一个current_value和一个max_value整数列。严格来说,一旦current_value>=max_value,我想放弃请求。我有几个Kubernetespod,每个API调用可能会将“计数器”表中同一行(在最坏情况下)的current_value增加1(可以被认为是分布式主机对同一数据库的并发更新)。在我当前和天真的实现中,对同一行的多个更新自然会相互阻塞(如果重要的话,隔离级别是“已提交读”)。在最坏的情况下,我每秒有大约10多个请求会更新同一行。这会

postgresql - GoLang 服务无法使用 docker compose 访问 Postgres

我有一个用Go编写的HTML服务。它使用Postgres,但是当使用dockercompose将它们组合在一起时,我得到“dialtcp0.0.0.0:5432:connect:connectionrefused”在仅使用docker并引用Postgres的运行图像构建启动服务时工作来自go的调用片段psqlInfo:=fmt.Sprintf("host=%sport=%suser=%spassword=%sdbname=%ssslmode=disable",host,port,user,password,dbname)db,err:=sql.Open("postgres",psqlI

.htaccess - Heroku htaccess 基本身份验证上的 Golang 应用程序

是否可以在heroku中运行的golang应用程序上使用htaccess?我读过这个link但该解决方案对我不起作用(另外,命令htpasswd在herokubash中无法识别,但我使用thistool创建了htpasswd文件)。谢谢。 最佳答案 Goweb应用程序是一个服务器,因此无需使用Apachehttpd服务器,尤其是在具有非常清晰的Go部署说明的Heroku上:https://devcenter.heroku.com/categories/go仔细遵循这些说明,您会发现不需要Apache。htaccess和htpassw

database - 在使用带有 Postgres 的 Go sqlx 包运行 UPDATE 查询时,您能否检索更新行的列表?

我有一个查询,我正在使用Go的sqlx包(标准数据库/sql包的扩展)和Postgres数据库运行。它看起来像这样:result,err:=s.getDB(tx).Exec(`UPDATEtable_nameSETvar_name=0WHEREvar_name=1;`)iferr!=nil{returnnil,err}在不使用托管事务的情况下,如何检索更新行的列表?或者至少更新行的主键列表? 最佳答案 使用PostgreSQL'sRETURNINGclause和db.Query/db.Select变体而不是Exec,例如//gett

python - 从 XSD 生成 Python 类和 SQLAlchemy 代码以将 XML 存储在 Postgres 上

我有一些非常复杂的XSD模式要处理。我所说的复杂是指这些XSD中的每一个都对应于数据库中大约20个类/表,每个表有大约40个字段。我有18个不同的XSD需要编程。我想要实现的是:获取由XSD定义的XML文件,并使用SQLAlchemy将所有数据保存在PostgreSQL数据库中。基本上我需要一个CRUD应用程序,它将按照XSD模式的模型将XML文件保存在数据库中,并且还能够从数据库中检索对象并创建XML文件。我想避免必须手动创建python类、sqlalchemy表定义和CRUD代码。考虑到XSD文件的复杂性,这将是一项艰巨的工作,会出现很多小错误。我可以通过多种方式从XSD生成pyt