草庐IT

ruby-on-rails - 错误 : must be owner of language plpgsql

我正在使用PostgreSQLv9.0.1和Rails(它是deps)@v2.3.8,由于使用了postgres的全文能力,我有一个定义为的表:CREATETABLEaffiliate_products(idintegerNOTNULL,namecharactervarying(255),modelcharactervarying(255),descriptiontext,pricenumeric(9,2),created_attimestampwithouttimezone,updated_attimestampwithouttimezone,textsearch_vectortsv

postgresql - 如何将参数传递给用 PL/pgSQL 编写的查询?

我想知道是否可以将参数传递给用PL/pgSQL编写的查询?我试过了,但是失败了pq:got1parametersbutthestatementrequires0packagemainimport("database/sql""fmt""log"_"github.com/lib/pq")funcmain(){db,err:=sql.Open("postgres","host=localhostdbname=dbuser=usersslmode=disablepassword=pw")iferr!=nil{log.Fatal(err)}row:=db.QueryRow(`DO$$BEGIN

xml - 在 PostgreSQL 数据库中存储 XML 解释计划

如何在PostgreSQL数据库中存储XML解释计划(或任何其他格式)?测试数据:explain(verbose,formatxml)select1存储结果的表:createtabletmp.explain_plan_data(exppxml);我的天真测试失败了:insertintotmp.explain_plan_datavalues(explain(verbose,formatxml)select1);explain似乎不能用在任何其他select语句中,下面的语句也不起作用:select*from(explain(verbose,formatxml)select1)a我们正在使

xml - Postgresql:如何更改 XML 列中属性的值?

在将其返回给客户端之前,我需要使用表中的XML数据类型更改存储在列中的XML属性的值。现在我使用游标,获取xml,将其转换为VARCHAR,解析它,更改属性值(如果不存在则添加它),将其放入临时表并从临时表返回数据。一切都在存储过程(pl/pgsql)中完成。我想知道是否有更清洁的方法来做到这一点? 最佳答案 您可以使用XML::LibXML在PL/PerlU函数(或PL/Perl,如果您可以在postgresql.conf的plperl.on_init中预加载XML::LibXML),如下所示:CREATEEXTENSIONIFN

xml - 在 postgresql 中分解 XML

在SQLServer2005的T-SQL语言中,我可以通过以下方式分解XML值:SELECTt.c.value('./ID[1]','INT'),t.c.value('./Name[1]','VARCHAR(50)')FROM@Xml.nodes('/Customer')ASt(c)@Xml是一个类似xml的值'23Google'有人可以帮助我在PostgreSQL中(可能在PL/pgSQL中)实现相同的结果吗? 最佳答案 xpath函数将返回一个节点数组,因此您可以提取多个合作伙伴。通常你会做这样的事情:SELECT(xpath(

windows - plpgsql,如何将变量存储到文件中

我想创建一个包含来自不同表的数据的自定义变量(字符串)。我无法在一个查询中完成(特殊的存储顺序和动态列)。有没有办法将变量存储到文件中?或者使用命令行将一个变量的结果保存到文件中? 最佳答案 因为标记plpgsql我假设您正在plpgsql函数中执行一些查询,并且保存在变量中的结果应该发送到文件中。在纯SQL中,您可以使用copy命令将文本保存在文件中,如下所示:copy(select'sometext')to'c:\data\sample.txt';在plpgsql函数中,您应该使用execute命令来选择变量的值,例如:crea

sql - 使用自定义文件名路径复制 csv

我在尝试使用COPY函数将查询导出到CSV时遇到了一些问题。如果未在TO上使用自定义文件名,COPY运行正常并成功导出查询。此问题与向创建的文件名添加“日期戳”(有点)有关。declarevar1varchar(25);DECLARESTATEMENTTEXT;selectintovar1current_date-1;STATEMENT:='COPY(SELECT*frommyTable)To''E'C:\\Exports\\export_'||var1||'.csv'''WithCSV';EXECUTESTATEMENT;在这种情况下,var1得到一个类似于2013-12-16的值,

PHP 调用 PostgreSQL 函数 - 类型问题?

我在PostgreSQL/plpgsql中有一个具有以下签名的函数:CREATEORREPLACEFUNCTIONuser_login(TEXT,TEXT)RETURNSSETOF_get_sessionAS$$...$$其中_get_session是一个View。从phpPgAdmin调用它时该函数工作正常,但是当我从PHP调用它时,我收到以下错误:Warning:pg_query()[function.pg-query]:Queryfailed:ERROR:type"session_ids"doesnotexistCONTEXT:compileofPL/pgSQLfunction"

java - 为什么我从 Java 批量执行 PostgreSQL 上的存储过程时收到错误通知 "a result was not expected"?

我在数据库中有这个程序:CREATEORREPLACEFUNCTIONreplacePageRelevance(idINT,valueREAL)RETURNSVOIDAS$$BEGININSERTINTOpageRelevanceVALUES(id,value);EXCEPTIONWHENunique_violationTHENUPDATEpageRelevanceSETrelevance=valueWHEREpageId=id;END$$LANGUAGEplpgsql;调用此函数的代码:privatefinalStringPAGE_RELEVANCE_SQL="SELECTrepla

java - Liquibase 错误 [Postgresql] : unterminated dollar-quoted string at or near "$BODY$

Liquibaseerror:unterminateddollar-quotedstringatornear"$BODY$`Chaneg日志xml有一个条目:见下文包含文件="/home/dev/....../admin_script.sql"文件内容:...............CREATEORREPLACEFUNCTIONmy_schema.function-name()RETURNSsmallintAS$BODY$DECLAREv_next_gen_idsmallint:=0;BEGIN..........异常(exception):liquibase.exception.Da
12