草庐IT

POSTGRES

全部标签

xml - 如何在 Postgres 中使用 xpath 对齐 XML 元素

这个查询:withxas(select'truefalsefalsefalseno100200300'::xmlast)selectxpath('/promotions/promotion/@promotion-id',t)promotion_id,xpath('/promotions/promotion/enabled-flag/text()',t)enabled_flag,xpath('/promotions/promotion/exclusivity/text()',t)exclusivity,xpath('/promotions/promotion/price/text()',

xml - Postgres 数据到 XML

有谁知道将数据库条目转换为XML的好方法吗?即如果我有一个名为“Users”的表,其中包含字段“first_name”、“age”、“last_name”,我想将该表转换为:Papa50John 最佳答案 在PostgreSQL中你可以这样:SELECTtable_to_xml('users',true,false,'');或者SELECTquery_to_xml('SELECT*FROMusers',true,false,'');还有其他选项,只需检查themanual. 关于xml-

xml - 如何在 postgres 版本 9.2 中转义 ">"字符

如何使>符号显示为PG9.2版?我不希望它显示为>。在postgreSQL中查询SELECTXPATH('/BehaviorReportingRanges/BehaviorReportingRange/Range/text()',xmlparse(content'>3'))版本9.1中的结果:{">3"}--desiredresult版本9.2.3中的结果:"{">3"}"--notdesiredresult有什么指点吗?非常感谢! 最佳答案 好吧,如果你CREATELANGUAGEplpythonu;,然后您可以执行以下操作

sql - 我如何找出 Postgres 中的大 TEXT 字段有多大?

我在Postgres的TEXT字段中存储了一些大型XML文档,我试图找出TOAST压缩它们的效率。我有一个2.2mb的XML文档,可以压缩到51kb,所以我想了解TOAST的压缩率与其相匹配的程度,以便最终决定我将如何随时间归档这些文档。Postgres中是否有一个函数可以让我像这样识别特定列和行的TOAST压缩大小? 最佳答案 您需要pg_column_size用于TOASTed大小,octet_length用于未烘烤大小。pg_column_size在systemadministrationfunctionssectionoft

xml - 从 Postgres 中的 xpath 输出中删除大括号

假设我正在使用这个解析XMLSELECTxpath('/id/text()','45687'::xml);输出是xpath-------{45687}如何在没有花括号的情况下高效输出?所谓高效,我的意思是不必像这样使用regexp_replace()函数SELECTregexp_replace(xpath('/id/text()','45687'::xml)::text,'[{}]','','g'); 最佳答案 xpath()不返回字符串,它返回xml[]。花括号是数组表示法的一部分,而不是数据的一部分-您自己使用text强制转换添

sql - Postgres XML 数据类型

使用“xml”数据类型与将xml内容存储在“文本”数据类型中有什么好处?我可以通过某些特定的xml属性或元素进行查询吗?索引和查询性能如何?除了postgresql手册之外,您还可以指点其他在线资源吗? 最佳答案 现在,您从原始文本的XML字段中获得的最重要的东西是XPath。所以如果你有类似的东西CREATETABLEpages(idint,htmlxml);你可以得到第4页的标题SELECTxpath('/html/head/title/text()',html)FROMpagesWHEREid=4;目前XML支持相当有限,但在

mysql - 在 windows starpack 下包含 tdbc::mysql&tdbc::postgres 的 dll 的最佳方法是什么?

包tdbc::mysql和tdbc::postgresql需要dlllibmysql.dll和libpq.dll在PATH中。将此dll包含到单个starpack中的最佳方法是什么?现在我使用以下pkgIndex.tcl:if{[catch{packagerequireTcl8.6}]}{return}packageifneededtdbc::postgres1.0.0[listapply{{dir}{if{$::tcl_platform(os)eq"WindowsNT"&&($::tcl_platform(machine)eq"intel"||$::tcl_platform(mach

windows - 如何打开postgres命令行?

我已经安装了postgres。如何打开postgres命令行?当我打开命令提示符时,我有MicrosoftWindows[Version10.0.17134.590](c)2018MicrosoftCorporation.Allrightsreserved.C:\Users\dhanr>如何导航到postgres命令行,因为我的最终目标是运行pg_dumpdbname>outfile命令。 最佳答案 你应该使用psql命令行工具。您可以在安装目录中找到psql。示例;C:\ProgramFiles\PostgreSQL\10\bin

windows - 在win7中删除旧的PostgreSQL数据目录

我无法删除Windows7中的旧数据目录。我已经卸载了PostgreSQL,但系统服务用户帐户“postgres”仍然存在,他是唯一拥有该文件夹访问权限的用户。可能的解决方案是开发一项服务,以“postgres”用户身份运行,删除文件夹,但必须有更简单的方法吗? 最佳答案 很简单。只需以管理员身份打开命令提示符,然后输入netuser然后按回车键,您将在您的操作系统中看到用户帐户。您还会注意到那里列出了postgres。要删除它,请键入以下内容:-netuserpostgres/del还有回车键。瞧,你完成了。只是为了确保一切都已完

windows - 记录 postgres 查询消息

如何将查询结果消息写入PostgreSQL中的日志文件,以告知用户查询是否成功以及受影响的记录数。我尝试将log_statement更改为“全部”并将log_min_duration_statement更改为0,但我得到的只是查询文本。是否可以将这些消息重定向到Windows操作系统中的日志文件? 最佳答案 你可以使用GETDIAGNOSTICS为此……如果您是super用户,您可以将结果保存到文件中……createtabletablename(versionint);insertintotablenameselect9;do$$d