问题标签 [postgresql-9.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 回答
3580 浏览

ruby-on-rails - 如何在rails中使用jsonb

我有一个使用 Postgresql 9.4 作为后端的 Rails 项目。我有这样的专栏:

如何将其从 JSON 更改为 JSONB?我应该添加索引并将其更改为 JSONB 吗?

0 投票
1 回答
2378 浏览

perl - Postgres 9.4beta1 上 otrs 子程序条目中的宽字符

从 Postgres 9.1.2 升级到 Postgres 9.4beta1 后,OTRS 3.3.5 停止使用在 http-error.log 中发现的 Perl 错误,该错误在关闭工单时引发。错误是:

[...]/Kernel/System.DB.pm 第 499 行的子例程条目中的宽字符

第 499 行如下:

执行查询时似乎 Perl 脚本失败。

我的 Perl 版本是 v5.16.3。

我搜索了很多,但到目前为止没有解决方案对我有用。

0 投票
2 回答
3196 浏览

ruby-on-rails - Postgres 启用 TCP/IP 连接

我在 CentOS 6.6 系统上安装了 postgres-9.4 数据库服务器。我正在尝试从我的笔记本电脑连接到这个服务器(连接到同一个网络。笔记本电脑的 ip 是 192.168.1.105。我正在运行psql -U postgres -h 192.168.1.52)。psql 命令失败并显示错误消息:

我的配置:/var/lib/pgsql/9.4/data/pg_hba.conf

/etc/sysconfig/iptables:

我已经重新启动了 iptables 服务。

/var/lib/pgsql/9.4/data/postgresql.conf

我重新启动服务器如下:

ps aux 和 grep postgres 返回以下内容:

当我在服务器上执行 netstat 并 grep 获取 5432 时,我什么也得不到:

netstat -tulnp返回这个:

'netstat -l|grep postgres' 的输出

但如前所述,我笔记本电脑上的 psql 无法连接到服务器。

我错过了什么?

0 投票
0 回答
697 浏览

rules - Postgresql 中物化视图的规则和触发器

自 9.3 以来,物化视图是 Postgresql 中一个非常好的新特性,但是......我无论如何都无法添加规则或触发器。我没有找到任何文档说你不能向物化视图添加触发器或规则,但是使用 PgAdminIII 和普通 SQL 我得到了错误(分别是“不支持物化视图的规则”和“xxx不是表或视图”) .

我的物化视图基本上是多个连接,允许我将“编码”表与查找表连接以创建可读表(例如,城市邮政编码列表,其代码与城市名称和人口连接)。我需要一个触发器或规则才能在更新物化视图时更新原始表。

所以我的问题是:是否有向物化视图添加触发器或规则的技巧?

0 投票
2 回答
2307 浏览

postgresql - PostgreSQL:非空 JSON 对象的 CHECK 约束

我想对 JSONB 列有一个 CHECK 约束,它只允许非空 JSON 对象(仅{}具有属性,没有其他值,如[]JSON 原语)。

我只想检查“根”值,这些对象中存储的内容并不重要。

我怎样才能做到这一点?

0 投票
1 回答
815 浏览

activerecord - 是什么导致 ActiveRecord 在分叉后断开 Postgres 连接?

我在 Rails 4.2 项目中有一个使用fork. 我的问题是,在分叉进程完成后(即之后Process.wait),当我再次尝试访问数据库时,出现以下 Postgres 错误:

起初,我怀疑 ActiveRecord 会在分叉进程完成后自动关闭连接。但是在阅读了 AR 的代码之后connection_pool.rb,似乎分叉的进程应该使用它们自己的连接:

在必须随后分叉的祖先进程中建立了连接。我们不能重用连接,但我们可以复制规范并与之建立新的连接。

(来自ActiveRecord::ConnectionAdapters::ConnectionHandler#pool_for_owner

然而,分叉使连接无用。

我试图完全阻止分叉的进程访问数据库,并验证了旧的连接在分叉后无法使用以下代码重用:

关于如何解决这个问题的任何建议?

0 投票
1 回答
782 浏览

arrays - 如何在数组索引中创建 Postgresql JSONB 数组?

我有这样的结构:user_id,a。

a 是 jsonb 类型,具有以下结构:

我将如何创建一个索引,使我能够在 ids 列表中找到具有特定 id 的所有用户 (user_id)?

0 投票
0 回答
336 浏览

postgresql - jsonb 字段上的三元组索引不起作用?

我已经创建了这样的索引(documentData列的类型jsonb):

现在,当我执行以下查询时:

我得到以下输出

为什么查询不使用三元索引?

0 投票
1 回答
37 浏览

postgresql - 负(反转)运算符 vs NOT(...)

一些运营商有他们的反转选项,如:

例如,如果我要写的话,性能有什么不同吗

代替

是否有任何运算符的倒数运算符会比使用更快NOT

0 投票
1 回答
769 浏览

postgresql - 如何确定触发器内的列值是否为 INTEGER?

这是BEFORE UPDATE触发器执行的 func 的骨架

我需要的是确定(使用IF语句)是否NEW.mycolINTEGER而不是一些文字。所以IF条件应该返回true:

和错误的: