postgresql-9.1相关内容

Ubuntu 12.04,PostgreSQL-9.1-无法访问$ libdir/postgis-2.0

早上好,集体智慧. 我最近不得不通过将原始数据目录文件插入全新安装中来恢复postgresql-9.1数据库.除了无法打开PostGIS空间数据外,我所有的数据都是完整的. 我能够通过以下方式在新数据库上启用空间数据: CREATE extension postgis; 但是,尝试访问恢复的空间数据库中的数据会导致错误. 例如, SELECT PostGIS_fu ..
发布时间:2020-05-29 19:33:49 其他开发

如何在动态数据透视表上保留列名

销售数据包含可以包含任何字符的动态产品名称. 动态数据透视表是根据以下示例创建的 具有大量或未定义类别数的交叉表 translate()用于删除不良字符. 结果,数据透视表的列名称已损坏:缺少的字符和空格被删除. 如何返回与源数据中的列名称相同的数据? 我尝试使用 quote_ident(productname) as tootjakood, 代替 'C ..
发布时间:2020-05-28 19:15:08 其他开发

检查plpgsql中是否存在变量的最佳实践?

例如,我有一个存储过程,用于从csv文件导入数据并将读取的数据写入SQL表. 我有一个定义如下的表: CREATE TABLE person (id int, name text, age int, married boolean); 首先,我检查记录是否已经存在,如果存在,我会更新,如果不存在,请插入. 每个记录字段可能具有不同的类型,因此SQL命令的结果将分配给一个标量变量列表: ..
发布时间:2020-05-28 19:14:55 其他开发

Postgresql:按真实OR子句数计算等级

我需要按真实的OR子句的数量对PostgreSQL查询的结果进行排序/排序.例如,给定类似 的查询 SELECT * FROM mytable WHERE cond1 OR cond2 OR cond3 ORDER BY rank DESC 应根据满足条件的数量对结果进行排名.还非常欢迎使用视图/存储过程解决此问题的方法! 解决方案 重复条件并添加它们: SELECT * F ..

Postgres从动态sql字符串创建本地临时表(在提交删除时)

我在postgres UDF中生成了一个查询字符串,我想将其结果放在临时表中以执行连接(我正在使用LIMIT和OFFSET,但我不想与其他ttable联接在一起最终只会在最后切断数据(例如,查询计划中的LIMIT运算符).我尝试使用以下语句创建临时表. CREATE LOCAL TEMP TABLE query_result ON COMMIT DROP AS EXECUTE query_s ..

触发功能中的无限循环

这是一个触发器,可以通过在表上进行插入,更新或删除来调用.保证调用表的所有列都受影响,并且删除表也存在. CREATE OR REPLACE FUNCTION sample_trigger_func() RETURNS TRIGGER AS $$ DECLARE operation_code char; table_name varchar(50); delete_t ..
发布时间:2020-05-28 19:05:33 其他开发

PLPGSQL函数来计算方位

基本上,我无法理解plpgsql的语法,并且希望在以下工作中有所帮助. 我有一个包含1000的wgs84点的表.以下SQL将在此表的边界框中检索一组点: SELECT id, ST_X(wgs_geom), ST_Y(wgs_geom), ST_Z(wgs_geom) FROM points_table INNER JOIN (SELECT ST_Transform(ST ..
发布时间:2020-05-28 19:05:03 其他开发

使用plpgsql在函数内部获取当前函数的名称

从plpgsql函数中是否可以获取该函数的名称?甚至函数的OID? 我知道在plpgsql中有一些“特殊"变量(例如FOUND),但是似乎没有任何办法可以做到这一点. (尽管,我已经阅读了用C语言编写的函数似乎有可能的地方).并不是很关键,但这会使我做的事情变得更好/更不脆弱. 我正在使用PostgreSQL 9.1.5版 解决方案 对于触发器,请使用您还具有current_q ..
发布时间:2020-05-28 19:02:55 其他开发

SELECT .. INTO在PL/pgSQL中创建表

我想使用SELECT INTO在我的其中一个函数中创建一个临时表. SELECT INTO在SQL中有效,但在PL/pgSQL中无效. 此语句创建一个名为mytable的表(如果orig_table作为关系存在): SELECT * INTO TEMP TABLE mytable FROM orig_table; 但是将此函数放到PostgreSQL中,会出现错误:ERROR: " ..
发布时间:2020-05-28 18:57:44 其他开发

在PL/pgSQL中声明记录的元组结构

我无法在PostgreSQL文档中找到任何内容来说明如何在同时声明元组结构的同时声明记录或行.如果未定义元组结构,则会出现错误“尚未分配的记录的元组结构不确定". 这就是我现在正在做的事情,效果很好,但是必须有更好的方法来实现. CREATE OR REPLACE FUNCTION my_func() RETURNS TABLE ( "a" integer, "b" ..
发布时间:2020-05-28 18:56:41 其他开发