问题标签 [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 投票
1 回答
10568 浏览

postgresql - 错误:postgresql 中不存在函数 unnest(integer[])

执行上述查询时,出现如下错误:

我正在使用 PostgreSQL 8.3,并且我已经_int.sql在我的数据库中安装了该包以进行整数数组操作。

如何解决此错误?

0 投票
3 回答
3338 浏览

postgresql - Postgresql 日期格式

我有一个数据集(.tsv 格式),其中一列是date ofbirth。但是,数据很旧,并且并非所有日期都是YYYY-MM-DD格式。一些条目只有他们的出生年份(缺少出生月份和日期)并且采用格式YYYY-##-##(字面上##的 's 已经插入数据中,只要知道年份)。我希望将此数据集加载到我的postgres数据库中,出生日期列的数据类型为 asdate和 not string,以便我可以对日期进行比较。
一个小样本如下所示。(不相关的数据列未显示)

直接批量加载数据集显然会出错

数据集非常大,大约有 6 千万个条目。目前我正在考虑运行一个脚本来替换这些##01然后将修改后的数据插入到数据库中。但我不喜欢这个主意——

  1. 这很耗时。
  2. 这会占用磁盘空间(因为我想保留原始的“未篡改”数据)
  3. 此外,并非我的所有数据在我的数据库中都是真实的。

有什么方法可以让 postgres 以某种方式直接获取日期,只需忽略“##”(并保留缺少月份和日期的年份)?
或者有没有更好的办法解决这个问题?

0 投票
3 回答
13348 浏览

postgresql - PG 8.3,磁盘已满,服务器无法启动

这个问题涉及 Postgresql 8.3。我还不能创建标签,所以选择 8.4 版作为标签。

这是一个测试服务器,但我无法连接到它,因为经过几天密集使用 Postgres 所在的磁盘已满。因为我的 RDBMS 无法启动,所以我无法执行真空操作。

重新启动时,系统说,

Linux 工作正常并且有足够的可用磁盘空间。Postgresql 在 /var/lib/ 上安装了自己的分区,并且空闲字节为零。

我想我应该在重新启动数据库服务器之前释放一些空间,但我不知道要删除哪些文件。日志文件不在同一个分区上,因此清空它们无济于事。有人可以帮我吗?

0 投票
2 回答
1569 浏览

arrays - PostgreSQL:在不同条件下对多个 array_agg() 进行排序的最佳方法是什么?

条件:PostgreSQL 8.4(这对 9.x 来说太简单了)

桌子:

通缉:

当前方法:

所以我试着把这个作为我正在做的事情的一个例子——不,我没有一个具有这种结构的实际表,它的规范化程度并不高,但我确实有一个子查询会产生这样的东西。

实际上,我的 array_agg() 也连接了两个字段(一个单词和一个数字)并且我按数字 eg( array_agg(CASE ... THEN foo || ' - ' || bar) 排序,不幸的是我的输出只是大部分排序。如果我有更多时间,也许我可以改进这个问题。

0 投票
3 回答
9397 浏览

permissions - PostgreSQL - 不一致的 COPY 权限错误

我在 Windows 7 32 位机器上使用 EnterpriseDB pgAdmin III (v. 1.12.1) 来处理远程 Linux 服务器上的 PostgreSQL 数据库。我以用户 postgres 登录,这允许我访问 $PGDATA 目录(在本例中,它位于:/var/lib/pgsql/data/)

如果我通过终端登录服务器,运行 psql,并使用\copy命令将数据从 csv 文件导入到新创建的表中,我没有问题。

但是,如果我在 pgAdmin 中,我使用 COPY 命令将数据从 csv 文件导入到新创建的表中。

有时这工作正常,有时我得到一个权限错误:

错误:无法打开文件“/var/lib/pgsql/data/file.csv”进行读取:权限被拒绝 SQL 状态:42501

令我困惑的是错误的不一致。出现错误时,我将文件权限更改为 644 - 777 之间的任何位置,但没有任何效果。我也尝试将文件移动到其他文件夹,例如 var/tmp/,也没有任何效果。

有任何想法吗?

0 投票
1 回答
2200 浏览

postgresql - 无法远程访问postgresql数据库服务器

我注意到在 linux 终端(Suse Linux - SLES 11 SP2 64bit)中发出以下命令后,我的 postgresql 只能在我的本地主机中访问:

我的问题是如何使 postgresql 服务器可以从外部访问。我可以 ping 到安装了 postgressql 的机器,但我无法连接到数据库本身。提前致谢。

0 投票
6 回答
73616 浏览

postgresql - 仅选择今天(从午夜开始)的时间戳

我有一个 PostgreSQL 8.4 的服务器,它每天晚上 01:00 重新启动(不要问),并且需要获取连接用户的列表(即他们的时间戳是u.login > u.logout):

但是比较u.login > now()-interval '24 hour'也会在最后 01:00 之前交付用户,这很糟糕,尤其是。在早上。

自上次 01:00 以来,是否有任何有效的方法可以在不使用字符串杂技的情况下获取登录信息to_char()

0 投票
3 回答
243 浏览

sql - 在 postgres 中将文本更改为时间

我有一列作为文本导入。如何从 postgres 中的文本更改数据类型为时间?

请帮忙。

0 投票
5 回答
48105 浏览

postgresql - 在 PostgreSQL 中将字符串散列为数值

我需要将存储在我的数据库中的字符串转换为数值。结果可以是整数(首选)或 Bigint。此转换将在 PL/pgSQL 函数中的数据库端完成。

有人可以指点我一些可用于实现此目的的算法或任何 API 吗?

我已经在谷歌上搜索了几个小时,到目前为止找不到任何有用的东西:(

0 投票
1 回答
2368 浏览

postgresql - PostgreSQL 触发异常

我在 PostgreSQL 8.4 中创建此触发器时遇到问题。

问题是,当我尝试在数据库中插入一行时,会出现以下错误:

或英文:

但是在我的数据库中,我真的很确定列Nombre_usuario, Password,Fecha_registro存在!

任何人都可以帮助我吗?