问题标签 [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 - PostgreSQL 将多个查询输出到数组中
在 postgreSQL 9.6 中工作:
我有许多选择语句,每个语句都输出一行
例如选择 8 作为“ColA”,选择 20 作为“ColB”,选择 13 作为“ColC”
我需要将它们放入一个数组中,例如:
我已经尝试了很多种 row_to_json、array_to_json 等,但没有任何乐趣,有人可以帮忙吗?
我尝试过的实际代码比上面描述的要复杂一些,但数据的结构不是......这是我现有的代码(只是为了表明我有
sql - 在 Postgres 中使用递归 CTE 构建 AST
给定下表:
我如何计算最终的 AST:AND(NOT(AND(K, OR(X, A, B))), OR(Y, Z))
我尝试了使用递归 CTE 的不同方法,但我的问题是 CTE 既不允许在 CTE 的递归部分进行聚合,也不允许在使用 CTE 的子查询中进行聚合。
我尝试的最新方法是:
但由于 CTE 的限制,它不起作用。
文档说 CTE 是图灵完备的,但我找不到计算所需结果的方法。我是否遗漏了什么或者我对图灵完整性的理解是错误的?:)
(我有 Postgres 9.6)
sql - 如何链接两个表,但只从 PostgreSQL 中的一个表中获取 MAX 值?
我有两张桌子
和
我想通过以下方式将这两个表链接到 1. currency 和 2. TIMESTAMP:
curr
intransactions
必须等于curr1
inexchange_rates
TIMESTAMP
inexchange_rates
必须小于或等于TIMESTAMP
intransactions
(所以我们只选择交易时相关的汇率)
我有这个:
但这链接了两个很多结果,因为输出的行数比transactions
.
期望的输出:
背后的逻辑Converted Amount
:
- 第 1 行:用户在 18:00 消费,因此在 01:30 取
rate
小于或等于TIMESTAMP
inexchange_rates
即 0.92 的欧元 - 第 2 行:用户在 14:00 消费,因此在 01:20 取
rate
小于或等于TIMESTAMP
inexchange_rates
即 1.23 美元的金额 - 第 3 行:用户在 01:00 消费,因此在 00:00 取
rate
小于或等于TIMESTAMP
inexchange_rates
即 0.89 欧元的金额
如何在 postgresql 9.6 中执行此操作?
django - Django 测试正在删除生产数据,仅在一次运行所有测试时才有效
首先,这是 Django 1.9.13。我意识到这是一个不受支持的版本,但出于某种原因我必须使用它。数据库是postgres 9.6。
我有一个项目运行大约 40 个测试,分布在几个文件中。所有测试用例都是TransactionTestCase
通过fixture = ['fixture_name.json']
我在app/fixtures
目录中使用类似于
基本数据用于大多数(如果不是全部)测试用例。但其他夹具用于 1 个或几个测试。
运行它的设置是
运行以下命令时,它运行良好
但是,当运行单个测试用例时,它会失败
这失败了
好像夹具被加载了两次。我试过检查 Django 正在使用的 SQL,发现有问题的对象只加载了一次。但是,该对象确实存在于<database>
not<test_database>
中。
这导致我进入问题的第二部分。
当我运行完整的测试套件时,它运行良好,甚至可以测试上述装置在自行运行时出错的情况。
但是,在成功运行测试套件后,后续测试套件运行失败,并且在检查<database>
所有表时现在都是空的。我试图通过检查 SQL 查询来调试它,但日志在 4MB 后停止。而且由于我无法成功运行单个TestCase
,我无法达到删除表行并查看可能会破坏数据库中数据的程度。
我已经搜索了我能找到的任何 Django 测试文档,但找不到任何可以解释为什么<database>
在测试成功运行时被删除的原因,或者为什么单个测试用例会自行失败,但不能与完整的测试套件一起使用.
sql - 在 Postgres JSONB 字段中仅选择非 NULL 键
我有一个带有 JSONB 列的 postgres 9.6 表
如您所见,一些 JSON 键具有null
值。
我想排除这些 - 有没有一种简单的方法可以SELECT
只生成非null
键值对:
谢谢!
postgresql - 全文搜索不产生结果
我有以下观点:
但是,如果profiles.tags 为空document
,则即使其余字段(标题、简历和类别)包含数据也是如此。
是否有某种方法可以使该字段成为可选字段,以使其具有空数据不会导致空文档?
sql - 我希望一张桌子继承另一张桌子
我有 2 个 SQL 表说all_cities
, regular_cities
, (and capitol_cities
)。
all_cities
有 2 列 : name
,population
regular_cities
有 2 列 : name
,population
capitol_cities
有 3 列 : name
, population
,state
这些表已经创建。我想使用表分区连接它们,但首先我需要确保表regular_cities
和capitol_cities
继承自all_cities
.
即使在创建表之后或仅在创建新表时,是否有这些表从另一个表继承?
postgresql - 多列索引不用于仅索引扫描,但部分索引是
我的问题是,当具有等效信息(我认为)的部分索引是时,为什么不将多列索引用于仅索引扫描。
桌子:
内容样本:
我需要运行的查询是:
现在,如果我使用部分索引。查询(最终)作为仅索引扫描执行:
我不明白的是:为什么以下形式的多列索引从不用于仅索引扫描?
查询不能访问标志True
用于确定所有 id 的 btree 的所有连续叶子吗?
(请注意,元组可见性可能不是问题,因为仅索引扫描与部分索引一起使用i1
。)
我的 Postgres 版本是:PostgreSQL 9.6.2 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.3.1-14ubuntu2) 5.3.1 20160413, 64-bit
postgresql - Postgres 9.6 - jsonb 列中特定字段的平均值,并按同一 jsonb 列中的另一个字段分组
我在这里显示了以下数据集
http://sqlfiddle.com/#!17/f9280/1
我想以我为每个键和类别获得平均排名的方式查询数据
例如,
任何有关如何在 Postgres 上执行此操作的帮助或良好参考将不胜感激:)
postgresql - postgres 9.6 - 从多列创建对象数组 JSON
我这里有以下数据集
http://sqlfiddle.com/#!17/70f9a/1
我想创建一个查询,结果如下:
这个想法只是以不同的方式重新呈现值 cols avg_time_1 和 avg_time_2(jsonb 值)