草庐IT

PostGres

全部标签

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

postgresql - Postgres 删除数据库错误 : pq: cannot drop the currently open database

我正在尝试像这样删除当前连接的数据库,但出现此错误:pq:cannotdropthecurrentlyopendatabase我真的不明白如果我必须关闭我的连接,我应该如何删除数据库,因为我认为我将无法使用dbConn.Exec来执行我的DROPDATABASE语句?dbConn*sql.DBfuncstuff()error{_,err:=dbConn.Exec(fmt.Sprintf(`DROPDATABASE%s;`,dbName))iferr!=nil{returnerr}returndbConn.Close()}我想我可以连接到不同的数据库,然后在该连接上执行它,但我什至不确定

json - 如何检查 Postgres 中是否存在 json 键?

假设我有一个如下所示的json:some_json={'key_a':{'nested_key':'a'},'key_b':{'nested_key':'b'}}请注意,key_a和key_b是映射到字典的可选键,可能存在也可能不存在。我有一个函数可以检查some_json中是否存在外键并返回一个bool值。CREATEFUNCTIONkey_exists(some_jsonjson,outer_keytext)RETURNSbooleanAS$$BEGINRETURN(some_json->outer_keyISNULL);END;$$LANGUAGEplpgsql;我收到以下错误:

json - 与经典规范化表相比,postgres JSON 索引是否足够高效?

当前的Postgresql版本已经为JSON内容引入了各种功能,但我担心我是否真的应该使用它们-我的意思是,还没有建立关于哪些有效和哪些无效的“最佳实践”,或者至少没找到。我有一个具体的例子——我有一个关于对象的表,其中包含该对象的备用名称列表。所有这些数据也将包含在JSON列中以供检索。例如(跳过所有其他不相关的字段)。createtablestuff(idserialprimarykey,datajson);insertintostuff(data)values('{"AltNames":["Name1","Name2","Name3"]}')我需要一些查询,格式为“列出所有替代名

json - Postgres JSON 数据类型 Rails 查询

我正在使用Postgres的json数据类型,但想对嵌套在json中的数据进行查询/排序。我想在json数据类型上使用.where进行排序或查询。例如,我想查询关注者数量>500的用户,或者我想按关注者或关注者数量订购。谢谢!例子:modelUserdata:{"photos"=>[{"type"=>"facebook","type_id"=>"facebook","type_name"=>"Facebook","url"=>"facebook.com"}],"social_profiles"=>[{"type"=>"vimeo","type_id"=>"vimeo","type_na

json - Postgres : How to convert a json string to text?

Json值可以由一个字符串值组成。例如:postgres=#SELECTto_json('Some"text"'::TEXT);to_json-----------------"Some\"text\""如何将该字符串提取为postgres文本值?::TEXT不起作用。它返回带引号的json,而不是原始字符串:postgres=#SELECTto_json('Some"text"'::TEXT)::TEXT;to_json-----------------"Some\"text\""谢谢。附:我正在使用PostgreSQL9.3 最佳答案

json - 检查 Postgres JSON 数组是否包含字符串

我有一张表来存储关于我的兔子的信息。它看起来像这样:createtablerabbits(rabbit_idbigserialprimarykey,infojsonnotnull);insertintorabbits(info)values('{"name":"Henry","food":["lettuce","carrots"]}'),('{"name":"Herald","food":["carrots","zucchini"]}'),('{"name":"Helen","food":["lettuce","cheese"]}');我应该如何找到喜欢胡萝卜的兔子?我想出了这个:se

postgresql - Postgres : INSERT if does not exist already

我正在使用Python写入postgres数据库:sql_string="INSERTINTOhundred(name,name_slug,status)VALUES("sql_string+=hundred+",'"+hundred_slug+"',"+status+");"cursor.execute(sql_string)但由于我的某些行是相同的,我收到以下错误:psycopg2.IntegrityError:duplicatekeyvalueviolatesuniqueconstraint"hundred_pkey"如何编写“插入,除非该行已存在”的SQL语句?我见过这样的复杂

ruby-on-rails - 使用事件记录查询从 postgres 数据库返回不同或分组的记录

我被困在一个AREL调用上,我正在尝试为一个带有postgres数据库的Rails4.1应用程序编写。我的应用程序有User和League的activerecord类(users表和leagues表),它们通过与user_leagues表的has_many关系连接。我正在尝试在League上编写一个实例方法,该方法返回该联盟的用户,这些用户按user_leagues表中的end_score列排序。我可以用Ruby做到这一点,但它似乎应该可以用纯AREL来实现。在伪代码中:select*fromusers...innerjoinuser_leagues...group_byuser_id

ruby-on-rails - sidekiq Ruby 脚本后 Postgres 连接未关闭

这是一个在Sidekiq下运行的小型Rub​​y脚本。它打开与的连接db_connect=Sequel.connect(@db_credential,search_path:@namespace)它从不显式关闭连接;我认为这不是必需的?在脚本运行多次并全部完成后,Sidekiqweb面板显示没有任务正在运行或排队,Postgres显示60个Sidekiq连接:postgres=#selectcount(*)frompg_stat_activitywhereapplication_namelike'%sidekiq%';count-------60(1row)数据库位于本地主机上,因此没