草庐IT

postgresql_psycopg

全部标签

postgresql - 违反唯一约束导致整个 pq.CopyIn postgresql 导入失败

我正在尝试使用pq.CopyIn进行批量导入,如下所述:https://godoc.org/github.com/lib/pq导入速度比我尝试过的其他方法快得多,但我发现仅在一条记录中违反唯一约束会导致整个导入失败。有什么办法可以改变这种行为吗?有没有一些简单的方法可以找出导致问题的记录?有没有比pq.CopyIn更好的快速导入选项?对于我的应用程序,我可以对正在导入的数据进行一些查询和一些检查,但我希望有更好的方法。 最佳答案 错误消息应为您提供问题所在的线索。由于COPY语句(与所有SQL语句一样)在其自己的事务中运行,因此单个

postgresql - 如何连接到 Google Cloud SQL PostgresQL

我尝试使用Gormgolang连接到GoogleCloudSQLPostgresSQL,但似乎无法正常工作。这是代码funcInitDB()*gorm.DB{psqlInfo:=fmt.Sprintf("host=%sport=%suser=%spassword=%sdbname=%ssslmode=disable",os.Getenv("DB_HOST"),os.Getenv("DB_PORT"),os.Getenv("DB_USER"),os.Getenv("DB_PASSWORD"),os.Getenv("DB_NAME"))db,err:=gorm.Open("postgres

sql - 如何使用 Go 函数更新 PostgresQL 表中的多个列

我使用PostgresQL和Go。我有一个名为users的表。我尝试编写一个能够更新多个列的函数。此函数采用列名和用户对象(类型结构)。你能帮我解决这个问题吗?这是Go中的用户结构:typeUserstruct{IDintjson:"id"Usernamestringjson:"username"Passwordstringjson:"password"FirstNamestringjson:"first_name"LastNamestringjson:"last_name"Emailstringjson:"email"}这是创建用户表的SQL脚本:createtable"users"

postgresql - 连接被拒绝 : Accessing Postgres container from app container with docker-compose

我是Docker的新手。这个项目只是为了我自己的理解。很可能我使用了不正确的术语和/或比我想象的更困惑。非常感谢接受更正。我正在使用两个docker镜像:官方postgres镜像和我自己的Go应用程序和Dockerfile。使用docker-composeup我得到了connectionrefused错误。我认为可能存在两个不同的问题:第一,应用尝试连接时数据库未运行。第二,该应用只是使用了无效的IP。我的应用程序代码应该让数据库有时间启动以解决第一个潜在问题(请参阅下面的代码)。从错误消息来看,我认为我还没有走到那一步。我有两个服务:db-access(即Go应用程序)和postgr

postgresql - 执行 : "sqlboiler": executable file not found in $PATH

安装后SqlBoiler.将简单代码复制粘贴到main.go中,执行postgresql创建数据库。我通过以下方式生成了Go模型:gogenerate我遇到了一个错误:running"sqlboiler":exec:"sqlboiler":executablefilenotfoundin$PATH我看过SQLBoilerScreencast但假设用户预先配置了SqlBoiler我错过了什么? 最佳答案 screencast开始于goget-u-tgithub.com/vattle/sqlboiler仅此一步就应该在您的$GOPATH

sql - 如何使用 ozzo-dbx 包加入 PostgreSQL?

我正在用Go创建RESTAPI。我想根据请求发送响应,其中包含关于对象的数据+关于它的一些子数据,这是另一个表。所以基本上在表之间进行JOIN。我正在使用这个包:https://github.com/go-ozzo/ozzo-dbx。在文档中,我找不到JOIN示例。你能帮我解决这个问题吗?我的代码:这很简单SELECT*FROMcarsfunc(dao*BikesDAO)Query(rsapp.RequestScope,offset,limitint)([]models.Bikes,error){bikes:=[]models.Bikes{}err:=rs.Tx().Select().

postgresql - 将自定义类型数组插入 postgres

我正在尝试插入一行,其中有一列是自定义类型(ingredient)的数组。我的表是:CREATETYPEingredientAS(nametext,quantitytext,unittext);CREATETABLEIFNOTEXISTSrecipes(recipe_iduuidPRIMARYKEYDEFAULTgen_random_uuid(),nametext,ingredientsingredient[],//...);使用原始sql,我可以通过以下方式插入一行:INSERTINTOrecipes(name,ingredients)VALUES('some_name',ARRAY

postgresql - 在 Postgresql 中存储和检索 Golang slice 、结构和结构 slice

假设我有一个名为PEOPLE的表,它存储Person行。但是,Person包含slice、struct和sliceofstruct,即Superpower、Vehicle和FriendList字段。我应该如何使用Golang在Postgresql中存储和检索这些值?我找不到与此问题相关的任何实用教程。使用自定义数据类型,或者JSON,或者ORM方法,或者构建自定义函数来处理这些?有很多意见,但我仍然找不到解决这个问题的有效方法,请帮忙。我正在使用Ozzo-dbx,但是,欢迎任何解决方案。有人可以提供一个工作示例吗?对不起,如果这个新手问题激怒了你,但我已经尝试了几天,而且一直失败...

arrays - Golang 从 postgresql 函数获取值,该函数返回一个 int 但也接收一个字符串数组

我有一个postgresql函数,它基本上返回一个数字,而且正如您所看到的,该函数接收一个字符串数组。CreateOrReplaceFunctionfnRegisterUserRoleArray(idUserFatherint,rolesArrayText[])returnsintlanguageplpgsqlas$body$declareidsINT;declareroleIDINT;declaresanitazedRoleTEXT;declarecounterint=0;beginif(empty2null(idUserFather::text)isnull)thenids:=0;

postgresql - 您如何在 UTC 而不是本地时区中对 pq.NullTime 进行 JSON Marshall?

我在postgres表中有日期。日期以UTC时区存储。来自python的示例。roster=Roster.objects.get(id=266438)roster.start_timestampOut[11]:datetime.datetime(2018,9,7,15,0,tzinfo=)当我从golib/pq中编码这些日期时,我的本地时区以某种方式被应用。func(nt*pq.NullTime)MarshalJSON()([]byte,error){if!nt.Valid{return[]byte("\"\""),nil}val:=fmt.Sprintf("\"%s\"",nt.Ti