微软是否发布了下一个版本的路线图,确定了计划的发布日期?
如果没有,您认为在下一个版本准备好生产之前需要多长时间?
在 pgAdmin 3 中,执行备份的对话框允许您检查和取消选中您想要成为备份一部分的表。
在 pgAdmin 4 中,要么我找不到此功能,要么不存在。
是否有任何方法可以仅备份 pgAdmin 4 中的选定表?
背景 (用单词问题掩盖了一个现实世界的问题)
Farmer Brown 在加利福尼亚州有一个桃园,向全国各地运送数十万个桃子。当一批桃子到达目的地时,送货员会检查桃子并保留所有未通过检查的桃子。
当检验不合格的桃子运回 Farmer Brown's 农场后,Farmer Brown's Peach Hospital 将修复桃子缺陷,并与下一批桃子一起重新发货。如果原来的桃子再次检查不合格,只要桃子是可挽救的,它们就会经历同样的过程。
桃子医院很贵,运费也很贵,所以Farmer Brown开始思考,“对于我在任何时间范围内运送的桃子,我总共运送了多少?在总数中,第二次运送了多少?对于第三次(或更多)?”
在高层次上,桃子发货跟踪表(在 SQL Server 2000 数据库上)有超过900 万条不同类型发货的记录,看起来(大致)类似于:
ShipmentDate PeachID Shipment Type
8/10/2005 7112 Shipment to Customer
7/15/2007 8798 Shipment to Customer
4/3/2009 8798 Shipment to Customer
4/15/2009 8798 Shipment to Customer
4/21/2009 8798 Shipment to Customer
4/21/2009 145751 Shipment to Customer
4/22/2009 7112 Shipment to Customer
4/22/2009 12121 Shipment to Customer
4/25/2009 8798 Shipment to Customer
5/12/2009 8798 Shipment to Customer
Run Code Online (Sandbox Code Playgroud)
如果我们尝试返回 Farmer Brown …
这个问题类似于Running total with count? ,但请允许我进一步解释这个问题。
我使用的是 SQL Server 2008,因此 Aaron Bertrand 描述的游标选项在速度方面似乎是最有前途的。
不过,这里的不同之处在于我必须考虑单个项目的两个日期。因此,给定订单表中的 OrderID 项,OrderID 具有 Opened Date 和 Closed Date。Opened Date 总是填充的,但 Closed Date 可以是NULL。
OrderID OpenedDate ClosedDate
654554 12/1/2011 5/4/2012
678451 12/4/2011 3/2/2012
679565 12/8/2011 5/21/2012
701541 5/23/2012 NULL
...
Run Code Online (Sandbox Code Playgroud)
我需要 - 有效地 - 获取在日期范围内的任何给定日期有多少订单具有我们可以称为“打开”状态的状态。日期范围可能跨越几年。(是的,我确实有一个连续日期的参考表。)
Date CountOfOpenOrders
12/1/2011 175
12/2/2011 178
12/3/2011 195
12/4/2011 192
12/5/2011 191
...
Run Code Online (Sandbox Code Playgroud) 我使用的是 SQL Server 2008,有一个用于报告目的的表,其中包含 500,000 条记录,这些记录很容易达到数百万条。该表将采用全文索引来快速搜索少数列。
由于这是报告表而不是源事务表,因此有时会添加新记录,而有时由于源表中发生的更改而必须删除现有记录。
我的问题是关于构建(正在进行的)报告表并维护该表的全文索引的最佳方法。
添加全文索引后,我应该:
到目前为止,我在研究时已经看到了这些文章,但这种情况的最佳实践并不明显。
今天,在研究 ETL 和Kettle 之类的数据仓库解决方案时,我遇到了一个新概念(对我而言),称为数据仓库自动化工具。
我对这些工具的一个反应是:哇,任何购买这些工具的人都在进行巨大的投资。同时,似乎许多数据仓库项目都失败了,即使它们需要开发人员花费大量时间来实施。
所以,如果有人在那里确实有在真实世界中的项目数据仓库的自动化工具的经验,你能回答这些问题吗?
Postgres 9.5
给定一个表,其中包含一个类型为 的字段json,大约有 700 行,并且每行在单个数组中大约有 4,000 个元素......
我的数据库字段:
[0.44577, 0.4855, 0.45429, 0.54437,...]
[0.45012, 0.48698, 0.45715, 0.55337,...]
[0.47347, 0.49156, 0.46079, 0.56818,...]
[0.4936, 0.49835, 0.46086, 0.58195,...]
[0.51068, 0.50511, 0.46228, 0.59482,...]
Run Code Online (Sandbox Code Playgroud)
PostgreSQL文档展示了如何查询数组中的单个元素。
SELECT my_db_field->2 AS test FROM my_db_table
Run Code Online (Sandbox Code Playgroud)
结果:
test (of type json)
--------------------
0.4855
0.48698
0.49156
etc.
Run Code Online (Sandbox Code Playgroud)
不过,我想做的是选择数组中的多个元素,并将其作为与行格式相同的数组返回。我所说的多个是指数组中大约有 300 个元素;例如,从元素 0 到元素 300。Postgres 对于这样的查询有很好的语法吗?
场景:有人在 PostgreSQL 数据库中创建了一个名为“foo”的函数。接下来,有人修改了函数“foo”的内部工作原理。
问题:PostgreSQL 是否提供了一种方法来知道谁修改了函数“foo”以及何时修改了“foo”?
在使用动态 SQL 的函数中使用参数时,在 PostgreSQL 中实现通配符搜索的正确方法是什么?
作为起点,以下是 Erwin Brandstetter 在 stackoverflow 上回答不同问题的示例:
CREATE OR REPLACE FUNCTION report_get_countries_new (starts_with text
, ends_with text = NULL)
RETURNS SETOF lookups.countries AS
$func$
DECLARE
sql text := 'SELECT * FROM lookups.countries WHERE country_name >= $1';
BEGIN
IF ends_with IS NOT NULL THEN
sql := sql || ' AND country_name <= $2';
END IF;
RETURN QUERY EXECUTE sql
USING starts_with, ends_with;
END
$func$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
假设country_name您想要进行前导和尾随通配符搜索。
例如,不使用参数,AND country_name LIKE '%ic%'.
在这种情况下,在否定 …
postgresql ×4
dynamic-sql ×1
etl ×1
json ×1
pgadmin ×1
pgadmin-4 ×1
plpgsql ×1
query ×1
reporting ×1
sql-server ×1
t-sql ×1