草庐IT

postgresql-9.6

全部标签

【PostgreSQL】连接pg数据库Schema切换

问题情况由于PostgreSQL数据库模式(schema)存在多个,原先的表单是默认采用public但是查询表和字段时候有查询所有未进行过滤,导致数据库连接失败、查表字段也为空(空即查询服务端异常错误)解决方式数据库连接配置添加参数补充?currentSchema=dwd譬如:username=root;password=XXXX;url=jdbc:postgresql://11.XX.XX.145:5432/test_data?currentSchema=dwd代码优化代码调整首先获取url:jdbc:postgresql://localhost:5432/test_data?current

postgresql - 如何获取 Golang 数据库连接池来管理集群中多台主机的连接?

我正在设置bi-directionreplication在四个PostgreSQL工作人员之间,我想让我的Go数据库连接池处理与所有四个工作人员的连接。它应该能够为它们创建多个连接,为任何给定的查询随机选择一个,并在连接断开时进行故障转移。这在Go数据库库中可行吗?或者我应该只使用pgBouncer而不是试图获得database/sql或pgx处理这种平衡? 最佳答案 每当您调用sql.Open(driverName,dataSourceName)时,golang中的连接池就会创建,其中dataSourceName是用于连接的特定于

postgresql - 如何获取 Golang 数据库连接池来管理集群中多台主机的连接?

我正在设置bi-directionreplication在四个PostgreSQL工作人员之间,我想让我的Go数据库连接池处理与所有四个工作人员的连接。它应该能够为它们创建多个连接,为任何给定的查询随机选择一个,并在连接断开时进行故障转移。这在Go数据库库中可行吗?或者我应该只使用pgBouncer而不是试图获得database/sql或pgx处理这种平衡? 最佳答案 每当您调用sql.Open(driverName,dataSourceName)时,golang中的连接池就会创建,其中dataSourceName是用于连接的特定于

postgresql - 无法在容器之间建立连接

我在这里包含了代码..https://github.com/vinceyoumans/achal问题:dockercompose文件中的两个容器。一个是标准的Postgress容器。第二个是goLangScratch容器。当postgres连接失败时,GoLangmain.go文件会崩溃。你可以在github上看到代码。错误是:dialtcp:lookuppostgreson127.0.0.11:53:nosuchhost请求:查看main.go和dockercompose文件,看看这个网络出了什么问题……我错过了什么。main.godb,err:=gorm.Open("postgre

postgresql - 无法在容器之间建立连接

我在这里包含了代码..https://github.com/vinceyoumans/achal问题:dockercompose文件中的两个容器。一个是标准的Postgress容器。第二个是goLangScratch容器。当postgres连接失败时,GoLangmain.go文件会崩溃。你可以在github上看到代码。错误是:dialtcp:lookuppostgreson127.0.0.11:53:nosuchhost请求:查看main.go和dockercompose文件,看看这个网络出了什么问题……我错过了什么。main.godb,err:=gorm.Open("postgre

postgresql - 如何将元素添加到 Postgres 中的 json 字段数组

我正在尝试将数据附加到属于postgres中的json字段的数组。在使用pgAdmin时,我知道以下查询有效。~UPDATElessonSETdata=jsonb_set(data,'{pages,999999}','{"pageNum":2,"pageType":"voc"}',True)WHEREid=2;我只是想通过我用go编写的restapi使上述查询工作。我收到一条错误消息,内容为“pq:json类型的输入语法无效”。我的代码如下~_,err:=db.Exec(`UPDATElessonsSETdata=jsonb_set(data,'{pages,999999}','{"p

postgresql - 如何将元素添加到 Postgres 中的 json 字段数组

我正在尝试将数据附加到属于postgres中的json字段的数组。在使用pgAdmin时,我知道以下查询有效。~UPDATElessonSETdata=jsonb_set(data,'{pages,999999}','{"pageNum":2,"pageType":"voc"}',True)WHEREid=2;我只是想通过我用go编写的restapi使上述查询工作。我收到一条错误消息,内容为“pq:json类型的输入语法无效”。我的代码如下~_,err:=db.Exec(`UPDATElessonsSETdata=jsonb_set(data,'{pages,999999}','{"p

postgresql - 如何返回未从存储过程中找到的记录

当没有找到记录时,是否可以让存储过程的行为与常规选择查询完全一样,或者这是驱动程序问题。例如,对于go,不返回任何行的查询将返回sql.ErrNoRows错误。但是,这不会:createtableemptytable(idint);createfunctionselectany()returnsemptytableas$$DECLARE_outemptytable;BEGINSELECT*INTOemptytableFROMemptytablelimit1;RETURN_out;END;$$LANGUAGEPLPGSQL;我已经尝试过SELECTINTOSTRICT,虽然这会引发“查询

postgresql - 如何返回未从存储过程中找到的记录

当没有找到记录时,是否可以让存储过程的行为与常规选择查询完全一样,或者这是驱动程序问题。例如,对于go,不返回任何行的查询将返回sql.ErrNoRows错误。但是,这不会:createtableemptytable(idint);createfunctionselectany()returnsemptytableas$$DECLARE_outemptytable;BEGINSELECT*INTOemptytableFROMemptytablelimit1;RETURN_out;END;$$LANGUAGEPLPGSQL;我已经尝试过SELECTINTOSTRICT,虽然这会引发“查询

postgresql - Go pq 和 Postgres 对约束进行适当的错误处理

我目前正在使用Go的pq库与我的PostgreSQL数据库进行通信。事实证明,错误检查比预期的要困难一些。描述我的问题的最简单方法是通过示例场景。想象一个网络表单:Username________Email________Voucher________Password________一个粗略的模式:usernameVARCHAR(255)UNIQUENOTNULL,emailVARCHAR(255)UNIQUENOTNULL,voucherVARCHAR(255)UNIQUENOTNULL,passwordVARCHAR(255)NOTNULL暂时忽略假定的纯文本密码。如果有人提交表单