86得票2回答
如果索引不存在,则创建索引。

我正在处理一个函数,如果索引不存在则允许我添加。我遇到的问题是无法获取索引列表进行比较。有什么想法吗? 这与创建列的类似问题类似,可以使用以下代码解决: https://stackoverflow.com/a/12603892/368511

39得票3回答
在PostgreSQL 8.4中,如何将bytea转换为文本值?

在我的应用程序中,我使用C代码将数据插入数据库,因为我从不可信的来源接收到的字符串,我使用libpq库的PQescapeByteaConn函数对它们进行了转义。这个方法运行得非常好,即结果是八进制格式的字符串。请看下面的例子, 输入字符串:\n\t\f\b\p\k\j\l\mestPrepa...

29得票2回答
如何创建一个索引来加快对表达式的聚合LIKE查询?

我在标题中可能问错了问题。以下是事实: 我的客服人员抱怨我们基于Django的网站管理界面上进行客户查找时响应时间慢。 我们使用的是Postgres 8.4.6。我开始记录慢查询,并发现了这个罪魁祸首: SELECT COUNT(*) FROM "auth_user" WHERE UPP...

24得票3回答
如何在PostgreSQL 8.4中安装pgcrypto扩展?

我正在使用Ubuntu Server 10.10,并已经使用apt-get install postgresql安装了PostgreSQL 8.4。我想使用内置的sha1()函数,但似乎我必须先安装pgcrypto。但是我不知道如何安装它。 如果我尝试使用apt-get install pg...

19得票7回答
将连续数值相同的行分组。

我有一个情况,我觉得可以使用窗口函数来解决,但我不确定。 想象一下以下的表格。 CREATE TABLE tmp ( date timestamp , id_type integer ) ; INSERT INTO tmp (date, id_type) VALUES ( '...

18得票3回答
如何将PostgreSQL从8.4版本升级到9.4版本?

我想将我的PostgreSQL从版本8.4升级到9.4。 文档对我来说不是很清楚。 如果我升级,会丢失我的旧数据库吗? 如果我要在升级后丢失它们,如何备份我的旧数据库? 如何升级我的psql? 我的PostgreSQL运行在一个CentOS 6.6服务器上。

14得票1回答
在PostgreSQL 8.4中,执行触发器函数所需的特权是什么?

执行PostgreSQL 8.4中的触发函数需要哪些特权? 似乎角色所设置的特权对于执行触发函数并不重要。我记得有一天见过,执行触发函数所需的特权是EXECUTE特权,但是只适用于表的所有者,而不是实际执行触发器并调用触发函数的角色。 我找不到解释这一点的文档部分,能帮忙吗?

12得票1回答
PostgreSQL事务提交持续数小时

我遇到一个问题,即我的PostgreSQL服务器上有两个连接已经运行了大约4个小时,并且在commit状态下停留了相当长的时间(至少1个小时我一直在观察)。这些连接正在阻塞其他查询的运行,但它们自身并没有被阻塞。 以下是涉及的两个连接。 postgres=# select * from p...

10得票2回答
TOAST桌子的增长失去控制 - FULLVAC毫无作为

最近,我把一个 PostgreSQL 8.2.11 服务器升级到了 8.4 版本,以便利用自动清理功能,并与其他大约30个PGSQL服务器保持一致。这是由一个独立的IT团队负责硬件管理完成的,所以我们在其他升级方面没有太多选择(暂时不会看到9+版本)。该服务器存在于一个非常封闭的环境中(隔离网...