问题标签 [postgres-9.6]
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.
sql - 在 CIDR 上加入 Postgres 表
我有两张桌子。第一个表 ( events
) 如下所示:
我有第二个表 ( networks
),如下所示:
在第一个表中,ip
是一个 IP 地址(例如,日志文件中的传入网络连接的 IP 地址)。在第二个表中,network
表示 IP 地址范围(例如,ISP 的 IP 块)。
我想加入这些表,以便我可以networks.name
检索events
. 我的 SQL 如下所示:
但是,这非常慢(每返回行>1 秒)。我在 上定义了一个唯一的 BTREE 索引networks.network
,但这似乎没有什么区别。两个表都包含 >10M 的记录。我(不幸的是)正在运行 Postgres 9.6.12。
有没有一种有效的方法来计算这个?在我看来,瓶颈在于 上的“包含在或等于”操作上JOIN
,但目前尚不清楚如何让 Postgres 在这里使用索引。可能吗?
postgresql - 获取 json 包含特定对象的记录
我有一个带有 json 字段的 postgres 9.6 表config
。我想从此表中获取 json 具有特定键值对的记录。
我的表如下
在 json 字段中,我在表单中存储了一个 json
现在,我正在查询数据库以获取 json 字段包含键值对的所有记录{ "name": "B", "state": "inactive"}
。
我的查询如下
但是,我收到一个错误
知道我在哪里出错了。指针将不胜感激。蒂亚!!!
postgresql - 在 Postgres 10.6 中,CASE 中不允许设置返回函数
sql不是我的强项
从 postgres 9.6 升级到 10.6,我从这个查询中得到一个错误:
错误:
set returning functions are not allowed in CASE
结果我回来了(从 v 9.6 开始):
'user' 元素也可以为空。
这就是“内容”列的样子(两者之一)
任何帮助请求都停留了一段时间
sql - 删除表是否会删除其触发器和函数?
我创建了一个表score
,还创建了一个函数和一个触发器。
现在,我放下了这张桌子
所以我的问题是,一旦我们删除表,触发器和函数会自动删除还是我们需要手动删除它们?
sql - SQL 按字段分组,每个分组只返回一个连接行
桌子data
我想要做的是按名称分组,然后为每个组选择日期要求最早的行之一。
对于这个数据集,我想以第 1 行和第 4 行或第 2 行和第 4 行结束。
预期结果:
或者
我有一些返回 1,2 和 4 的东西,但我不确定如何只从第一组中选择一个来获得所需的结果。我正在将分组与data
表格一起加入,以便在分组后获得ID
和another_field
返回。
postgresql - 防止 Docker 容器在主进程死亡时退出
我正在使用带有repmgr的Postgres,我遇到的一个小问题是有时repmgr必须停止并启动Postgres服务,这只会杀死容器,我在Dokcerfile中尝试了一些在线解决方案,但似乎没有工作,我可以在 docker-compose 文件中添加一些东西来防止 docker 立即退出,我不想永远活着,但也许几分钟?
postgresql - 创建简单的删除函数 postgresql
我是 PostgreSQL 的新手,我创建了一个带有插入函数的简单表,但是当我使用删除函数时,它会删除所有插入的查询,知道会发生什么吗?如果有人问,我也在使用 PostgreSQL v9.6
postgresql - postgres logging_collector 同时发送到两个目录
在为 postgres 服务器测试日志的过程中,我们发现日志同时被发送到两个不同的目录。
这两个地点是:
/var/lib/postgresql/9.6/main/pg_log/
(故意的)/var/log/postgresql/
(无意)
之前更改的设置postgresql.conf
:
设置postgresql.conf
未更改,但相关:
我知道这两个目录都是 postgres 日志记录的标准目录,但同时发送到这两个目录似乎不寻常。
我们测试了一天的日志记录,当天创建了两组日志。
sql - Postgres在数据集增加时将查询从仅索引扫描更改为位图扫描
我有两个相同的查询,但条件值不同
当我运行这两个查询时,它们都产生不同的结果
第一次查询结果
第二个
谁能解释我为什么 Postgres 进行位图扫描而不是仅索引扫描?
postgresql - 如何在 Centos 7.4 上将 postgrsql 版本从 9.6.5 升级到 9.6.14
我从备份恢复数据库有问题,因为备份是在 9.6.14 pg_restore 的版本上创建的。当我想在另一台主机(使用 9.6.5 postgres 版本)上恢复我的数据库时,我收到此错误:
备份是用Fc
标志创建的,所以我必须使用 pg_restore 工具来恢复它。所以我决定在我的 centos 7 上将我的 postgres 版本升级到 9.6.14,但我不知道该怎么做。如何下载和安装 9.6.14 rpm?