问题标签 [postgresql-8.4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
854 浏览

postgresql - 更新表逻辑

我有两张表,上面有触发器。

第一的

第二

我有一个问题。如果我在第一个表中插入数据,它的触发器也会在第二个表中插入数据。但是该插入会导致第二个表的触发器在第一个表上执行插入,依此类推。

你能帮我解决这个问题吗?如何让表格在不循环的情况下相互更新?

更新
我有另一个问题当我在表中插入数据时如何更改数据?例如,我在the_geom列中插入 GEOMETRY。如果几何SRID=70066我想把the_geom这个函数的工作结果放在列中ST_TRANSFORM(the_geom,900913)

更新 2

扳机

功能

如果我使用这个函数触发没有工作,但如果这样:

我明白id=88了,但 ST_TRANSFORM 不起作用。

更新 3

ST_TRANSFORM() 不错的功能,但在我的情况下它做了一些奇怪的事情。

例如,我有一个表 filedata_temp(SRID=4326)。我用 srid=70066 插入几何我试试这个触发器

并得到这个几何图形。 "0103000020E6100000010000001800000097832C7ABD823741DA312CBF59F6174145ED23E0088337413CB8228A65F7174145ED23E0088337413CB8228A65F7174145ED23E0088337413CB8228A65F7174115B8A7F8208337416DE8C689ADF7174115B8A7F8208337416DE8C689ADF71741D1D3BAF56383374114BFD1303AF917418B016D395F8537413C2856DFF7F717413AF95F044C853741A997BC22A3F71741F88E75BD2D85374178C92D9BE6F61741F92A3B192685374165C8D76E31F61741C84AA37B26853741F2674F6A96F5174144F25B9B16853741E849D10C1BF5174105142CD2E384374112E19E8688F31741B72C78F697843741A808260138F31741FF0C0C6A0884374151A8BBFF76F21741832CF2EEF48337418BE15C1290F21741FFFB3AC6A3833741D85A253DF4F2174113E8B8956C83374109067F2139F31741E383648E3383374100C25C64D8F3174179BAEBD7178337412DA0D6482BF41741CF38E4F7038337410AB04BD7E5F41741C936158CE182374145C1EC5D99F5174197832C7ABD823741DA312CBF59F61741"

ST_transform() 将这个字符串从 SRID=4326 和在 EPSG:70066 中转换的几何体生成。

70066中有这个字符串

"0103000020B2110100010000001800000097832C7ABD823741DA312CBF59F6174145ED23E0088337413CB8228A65F7174145ED23E0088337413CB8228A65F7174145ED23E0088337413CB8228A65F7174115B8A7F8208337416DE8C689ADF7174115B8A7F8208337416DE8C689ADF71741D1D3BAF56383374114BFD1303AF917418B016D395F8537413C2856DFF7F717413AF95F044C853741A997BC22A3F71741F88E75BD2D85374178C92D9BE6F61741F92A3B192685374165C8D76E31F61741C84AA37B26853741F2674F6A96F5174144F25B9B16853741E849D10C1BF5174105142CD2E384374112E19E8688F31741B72C78F697843741A808260138F31741FF0C0C6A0884374151A8BBFF76F21741832CF2EEF48337418BE15C1290F21741FFFB3AC6A3833741D85A253DF4F2174113E8B8956C83374109067F2139F31741E383648E3383374100C25C64D8F3174179BAEBD7178337412DA0D6482BF41741CF38E4F7038337410AB04BD7E5F41741C936158CE182374145C1EC5D99F5174197832C7ABD823741DA312CBF59F61741"

而在 4326

"0103000020E61000000100000018000000AE4F5BA2FC5B4E407E80E7E6F46C4C40F7F1BF79255C4E4019C32D62086D4C40F7F1BF79255C4E4019C32D62086D4C40F7F1BF79255C4E4019C32D62086D4C40A7CE9382325C4E40D8EA369C0D6D4C40A7CE9382325C4E40D8EA369C0D6D4C401BD2B101575C4E4064A420982A6D4C4090DF29FE665D4E4064EE5369116D4C408195B3905C5D4E403664043C0B6D4C4025A00D0E4C5D4E40F7FD7274FD6C4C404201C7B5475D4E409ADF7B26F06C4C403801C7B5475D4E40E43D0EBFE46C4C406EC339053F5D4E404085D2B7DB6C4C40BDFDA836235D4E4001EBC841BE6C4C40685B445FFA5C4E4015C4038EB86C4C40ADB5C108AD5C4E40727935C6AA6C4C408A6B4B9BA25C4E40331ECEACAC6C4C40A7368928775C4E40F7C22E47B46C4C409F640F9D595C4E4077694F81B96C4C40660C21333B5C4E4012EA7C62C56C4C406623646D2C5C4E40CE83E38FCB6C4C4042D9EDFF215C4E40C6A89957D96C4C4095D75EC00F5C4E4013FFA0A5E66C4C40AE4F5BA2FC5B4E407E80E7E6F46C4C40"

0 投票
2 回答
2436 浏览

php - PostgreSQL 分层,类别树

环境:postgresql-8.4

我正在尝试构建类别树。基本上我期待最终输出,例如:

例如:

表结构为

p>

到目前为止,我已经得到了这个,但没有工作。任何帮助将不胜感激:

来自数据库的样本

0 投票
1 回答
4792 浏览

plpgsql - postgresql 真空分析许多表

我有一个由大约 200 个子表组成的中型表(大约 150 亿行)(即每个子表继承母表,并且有约束 CHECKS 来优化分区)。

加载每个表的 plpgsql 代码也会在每个子表上生成索引,但不幸的是(因为它是一个函数),它也不能vacuum analyze subtable;为它刚刚加载和索引的子表执行 a。

因此,vacuum analyze在整个数据库的下一个完成之前,母表上的所有查询都很糟糕并且不使用索引(正如解释所揭示的那样)。

请注意,这是 PostgreSQL 8.2.14 的全部内容。

问题

  1. 有没有办法让 plpgsql 函数说,请在上面加糖,结束事务块并执行vacuum analyze subtable
  2. 有没有办法使用一些通配符()一次清理/分析许多表vacuum analyze schema.subtables*
  3. 或者,是否可以只真空/分析一个模式?
  4. 有没有其他方法可以从 postgresql 中以编程方式清理/分析 200 个子表(是的,我可以将所有子表的名称、折腾和季节转储到 psql 脚本中,然后执行那个,但它有点难看)。
0 投票
5 回答
8610 浏览

sql - 跨年份按日期范围(同一月和同一天)过滤

我有一个 PostgreSQL 数据库,其中有一个保存日期的表。现在我需要在所有年份中找到日期范围内的所有行,15/02直到21/06(日/月)。

示例结果:

0 投票
1 回答
99 浏览

sql - 尝试查找不同数据时返回相同的结果

我可以从下面的查询中获取每年的日期范围数据15/0221/06

但问题是,当我想从 year 中查找时2010 - 2012,我得到了相同的结果。

我想得到的范围:

谁能帮我解决这个问题!

0 投票
1 回答
4071 浏览

debian - postgresql.conf 优化

我的 postgresql 服务器非常慢。特别是当我在不同的线程中同时执行多个查询时,有时会导致 postgresql 服务器在 5 到 15 秒内无响应。我想知道我是否在 postgresql.conf 中犯了错误。

我的专用服务器有 2 个内核和 4 GB 内存,以及一个标准 SATA-2 磁盘。postgres db(8.4版)中有6gb的数据,同时连接了几百个用户。我正在使用 JDBC 访问 postgress,同时运行 1 到 10 个访问数据库的线程。我的服务器是 debian lenny。Cpu 没有 100% 使用,内存也没有。

感谢您提供任何帮助。

0 投票
2 回答
3951 浏览

sql - SQL:选择(空=空);

这个问题不在我正在查看的数据库考试中,所以它可能无法在真实情况下使用......

以下有效的 SQL 语句会产生什么输出?解释你的答案!

选择(空=空);

我可以很容易地产生语句的输出,即

在 psql 8.4.11 中,但是如何以及为什么这是我不知道的答案...我猜它会尝试评估括号内的表达式并得出真/假,但显然不是。

关于它为什么表现得如此的任何提示?

谢谢

0 投票
1 回答
1077 浏览

postgresql - 如何调试 Postgres 复制命令失败

我使用失败的复制命令将大约 75k 记录加载到 Postgres 表中。我得到一个例外

错误:编码“UTF8”的字节序列无效:0xbd

现在我需要找到哪一行有这个条目。有没有办法做到这一点?我正在考虑启用一些可能有帮助的 postgres 日志记录或任​​何其他解决方案注意:我只遇到一个特定文件的问题。其他文件正在加载而没有问题

0 投票
2 回答
3377 浏览

java - 如何通过 JDBC 锁定 PostgreSQL 数据库?

在我的 Java webapp 中,每个实例都在启动时检查数据库是否通过 JDBC 连接是最新的。如果数据库不是最新的,它会通过执行 SQL 脚本来执行更新例程。

我无法控制实例何时启动。因此,我需要确保只有一个实例同时执行数据库更新。理想情况下,我需要锁定整个数据库,但根据

http://www.postgresql.org/docs/8.4/static/explicit-locking.html

http://wiki.postgresql.org/wiki/Lock_database

PostgreSQL 不支持它(我仍在使用 8.4 版)。

我还有什么其他选择?

0 投票
2 回答
2710 浏览

postgresql - Postgres 查询返回的不仅仅是 array_agg

这是数据的格式:

我已经让查询按照我想要的方式执行,问题是我需要返回更多数据。

我尝试了对我来说似乎简单但合乎逻辑的方法:

我需要返回如下所示的内容:

而不仅仅是这个:

当我尝试向查询添加其他字段时,我得到:

ERROR: column "stuff.item_serial" must appear in the GROUP BY clause or be used in an aggregate function

但是我不想GROUP BYitem_serial,我只是希望它与聚合一起返回,对吗?

我需要运行子查询吗?我相信这很简单。如果有多种方法,哪种方法最有效?我将连接的一些文本是坐标(大字符串文本)。