问题标签 [postgresql-8.3]

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 投票
0 回答
65 浏览

psql - PSQL 时区和选择查询

由于不同的时区和记录的保存方式,我目前正试图从数据库中获取一些结果。这是一个有 4 列的表:timestamp、recordid、name、accountnumber。
当我运行一个简单的查询时:

我得到了我需要的结果,但时间戳字段是 GMT 时间。

我正在尝试运行的是一个查询,以获取最近 30 分钟的记录:

但是从这个查询中,我得到了 0 条记录,即使我知道它应该在那里。

我尝试使用“at time zone 'UTC'”命令将这两个字段都转换为 UTC,也尝试使用 now() 而不是 current_time。

我现在已经为此工作了 2 天,所以我的时间和耐心已经不多了 - 任何帮助将不胜感激。我正在运行 8.3 版。

问候,

0 投票
1 回答
4759 浏览

postgresql - 如何将 REAL 类型四舍五入为 NUMERIC?

我有real带有示例值的列类型表:

以及存储过程中的代码:

这是输出:

带有列的数据库表NUMERIC(19,2)

为什么castround函数对值不起作用123456.12

0 投票
1 回答
224 浏览

postgresql - LIKE 的 SELECT 语句中未使用 GIST 索引

在 PostgreSQL 8.3 中(抱歉版本过时 - 我无法更改)我有一个这样的表:

桌子有约。50 000 条记录。

我已经成功创建了一个 GIST 索引:

使用 LIKE(或 ILIKE)运算符进行文本搜索需要很长时间并且不使用 GIST 索引:

我究竟做错了什么?我读过 LIKE / ILIKE 使用这个词索引。

作为一种替代方法,我尝试使用带有“to_tsquery”的全文搜索(并获得惊人的速度),但我无法找到所需的子字符串匹配。全文搜索只能找到整个单词是否正确?

0 投票
1 回答
2424 浏览

postgresql - PostgreSQL 8.3.7:“致命:无法重新连接到共享内存”和“警告:工作人员启动时间过长;已取消”

我们使用 Xima 软件的 Chronicall 记录我们的办公室 IP 电话活动,该软件使用 PostgreSQL 后端。安装这两者的服务器是运行 Windows Server Standard 2008 SP1 的 ESXi 5.5 VM。一段时间以来,我们在 Windows 事件查看器中收到以下 PostgreSQL 错误:

  • “致命:无法重新连接到共享内存(键=248,地址=02510000):487”
  • “警告:工人启动时间过长;已取消”

这些错误每隔一两个小时就会发生一次,并且总是按照上面列出的顺序连续发生。

Xima 支持已多次查看该问题,但未能解决。根据他们的建议,我升级了 Java,禁用了防病毒软件,并运行了 Windows 内存诊断工具(恢复正常),但错误仍然存​​在。Xima 明确表示不应更新 PostgreSQL,因为已知 8.3.7 以上的版本会导致 Chronicall 出现其他问题。

还有其他解决此问题的建议吗?

0 投票
1 回答
2242 浏览

postgresql - PL/pgSQL:函数返回时插入的数据不可用

我有一个有趣的问题,我和我的同事现在困扰了一段时间。

我在 PostgreSQL-8.3 中有一个 PL/pgSQL 函数(对于那个旧版本,我无法更改),它执行以下四件事:

  1. 从序列中获取新的序列号 (ID)
  2. 将几条记录插入到具有该序列号的表中
  3. 发送一个插入发生的通知信号
  4. 将 ID 返回给调用者。

简化功能:

所以,我的同事从他的应用程序中调用了这个函数。他获取返回的 ID 并在他的应用程序中使用另一个线程(DB 池)来调用一个函数,该函数将返回先前使用该 ID 插入的数据。但是,这在第一次不起作用。只有通过第二个请求,他才能选择数据。当函数已经返回时,似乎 INSERT 还没有完成?!

我们检查了多次,数据将正确插入到表中,但不知何故,它的可用速度不如返回值(序列中的 ID)可用!为什么呢?

更新:错误的假设

我进一步检查并将示例简化为一个真正显示问题的简单查询:

此查询不返回任何行。但是,如果我分两个步骤执行此操作,我可以选择使用 add_entry 函数插入的数据。

我不知道我做错了什么或如何加快插入速度......

0 投票
1 回答
2762 浏览

postgresql - 如何在 PostgreSQL UPDATE 语句中增加变量

我想添加编号从 1 到 100 的电子邮件。因此,我想有效地执行以下操作:

最好希望它在 8.3 中工作。注意 - 我不能使用 id,因为它们在所选行中不是 1 到 100。

编辑:忘记我在8.3 ...

0 投票
0 回答
468 浏览

sql - Oracle 的 ROWNUM 的 PostgreSQL 8.3 等价物?

在 Oracle 中,您可以执行以下操作:

并得到

请注意,rownum 与行在表中的存储方式无关。这是一个伪列,在完成所有过滤器和排序操作后枚举结果集中的行。

我知道row_number() over ...版本 >= 8.4(此处)中有一种解决方法(),但我的数据库是 8.3,并且近期没有迁移计划。

- 有没有办法在 PostgreSQL 8.3 中做到这一点?

0 投票
1 回答
1311 浏览

postgresql - postgres ALTER TABLE 被阻止

我正在运行 Postgres 8.3,但在运行 ALTER TABLE ADD COLUMN 语句时遇到问题,当我运行此查询时,该语句似乎被 AccessShareLock 阻止

该表的名称是经销商。

我也跑了

那回来了

事务 id 154985751 看起来类似于 pg_locks 表中的虚拟事务 -1/154985751

我运行了这个命令来查看任何可能在数据库上运行查询的进程

并确认没有其他进程在数据库上运行查询。

运行查询后,日志文件会显示此内容

什么可能导致经销商桌上出现 AccessShareLock?我猜它与事务 154985751 有关有没有办法使用虚拟 ID 来终止事务?

0 投票
1 回答
994 浏览

postgresql - 根据该列中的排序值重新编号 postgresql 中的列

编辑:我正在使用 postgresql v8.3

我有一个表,其中包含一个我们可以称为 A 列的列。

出于我们的目的,A 列填充了任意正整数。

我想根据 A 列升序对表的记录进行排序,将 A 列从 1 重新编号为 N。(SELECT * FROM table ORDER BY ASC;)

有没有一种简单的方法可以在不需要构建 postgresql 函数的情况下完成此任务?

例子:

(之前:A:3,10,20,100,487,1,6)(之后:A:2,4,5,6,7,1,3)

0 投票
2 回答
1687 浏览

postgresql - Postgresql 8.3 不理解大于一天的负间隔

Postgresql 8.3 可以理解以下语句:

但不理解以下语句:

我收到以下错误:

如何处理更大的负区间?