我有一个有点奇怪的问题。
有没有办法手动强制 PostgreSQL 进入恢复模式?我无法在文档中找到任何内容。
我一直在使用监控 PostgreSQL 数据库的脚本,需要做一些测试。
由于以下错误,我们有一个从服务器已停止复制:
Slave SQL: Query caused different errors on master and slave.
Run Code Online (Sandbox Code Playgroud)
导致此错误的原因可能是什么?什么是修复它的方法?
主从版本均为 MySQL 5.5.30
130726 23:55:45 [Note] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: Shutdown complete
130726 23:58:39 [Note] Plugin 'FEDERATED' is disabled.
130726 23:58:39 [Warning] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: ignoring option '--innodb-file-per-table' due to invalid value 'ON'
130726 23:58:39 [Note] Plugin 'InnoDB' is disabled.
130726 23:58:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130726 23:58:39 [Note] - '0.0.0.0' resolves to '0.0.0.0';
130726 23:58:39 [Note] Server socket created on IP: '0.0.0.0'.
130726 …Run Code Online (Sandbox Code Playgroud) 我是一名正在阅读“查询 Microsoft SQL Server 2012”一书的开发人员。我遇到了下图:
为什么图表前两行中的页面(第 1 行开始:1:174和第 2 行开始:)1:41不是范围的一部分?文档说:“所有页面都存储在范围内”:
数字方案是如何工作的,例如是什么1:174意思?
在图的正上方,这本书说:“一个对象的 IAM 页面被组织成一个双向链表;” 该图未显示页面之间的任何链接。
我很久以前就创建了一个 ASM RAC 设置,并创建了一个磁盘组,名称为xyz. 我认为该实例已经消失,但磁盘组并未使用以下命令专门删除:
drop diskgroup xyz including contents;
Run Code Online (Sandbox Code Playgroud)
现在我已经创建了一个新设置并想要重新利用这些磁盘,我收到以下错误:
CREATE DISKGROUP XYZ EXTERNAL REDUNDANCY DISK ...
ORA-15003: diskgroup "xyz" already mounted in another lock name space
Run Code Online (Sandbox Code Playgroud)
如何删除此磁盘组?任何帮助表示赞赏。
我有一个存储过程,它计算10 分钟间隔内请求/响应周期的平均持续时间。这很有效,适合我绘制图表的需求。我接下来想做的是计算中值......我怀疑我需要一个子查询,但不知道如何完成这个。
SELECT dateadd(minute, 10 + (datediff(minute, 0, [Started]) / 10) * 10, 0) AS [Time]
,AVG(CASE WHEN Duration is null OR Duration = 0
THEN null ELSE Duration
END) AS [Mean Response Time]
FROM [Application].[Exchange] WITH (NOLOCK)
WHERE [Started] >= '24 Oct 2012' AND [Started] < '25 Oct 2012'
GROUP BY dateadd(minute, 10 + (datediff(minute, 0, [Started]) / 10) * 10, 0)
ORDER BY dateadd(minute, 10 + (datediff(minute, 0, [Started]) / 10) * …Run Code Online (Sandbox Code Playgroud) sql-server-2008 sql-server aggregate t-sql azure-sql-database
我们的最终用户可以通过多种方式将产品运送给我们的客户。他们可以使用一个表中的客户地址 ( [customer])、另一个表中的特定送货地址 ( [dropship]) 或另一个表中的另一个送货地址(对于具有多个位置的客户) ( [delivery])。这些都具有大致相同的结构,对于相同的数据点具有相同的列名(例如[address]是所有表中的地址)。
目前,我们查找订单收货地址的逻辑如下:
SELECT
Address = COALESCE(r.address, d.address, c.address)
FROM [order] o
JOIN customer c
ON o.customerid = c.customerid
LEFT JOIN delivery d
ON o.customerid = d.customerid
AND o.delivaddressid = d.delivaddress
LEFT JOIN dropship r
ON o.orderid = r.orderid;
Run Code Online (Sandbox Code Playgroud)
然而,这对我来说是一个新的范式,我正试图将我的大脑围绕在它周围。我是否只是将LEFT JOINs替换为
WHERE EXISTS
(select 1 from delivery d
where o.customerid = d.customerid
and o.delivaddressid = d.delivaddress)
Run Code Online (Sandbox Code Playgroud)
这将不允许我使用数据,[delivery]除非我将它扔到FROM …
我有一张看起来像这样的表:
RECIPE VERSION_ID INGREDIENT PERCENTAGE
4000 100 Ing_1 23,0
4000 100 Ing_100 0,1
4000 200 Ing_1 20,0
4000 200 Ing_100 0,7
4000 300 Ing_1 22,3
4000 300 Ing_100 0,9
4001 900 Ing_1 8,3
4001 900 Ing_100 72,4
4001 901 Ing_1 9,3
4001 901 Ing_100 70,5
5012 871 Ing_1 45,1
5012 871 Ing_100 0,9
5012 877 Ing_1 47,2
5012 877 Ing_100 0,8
5012 879 Ing_1 46,6
5012 879 Ing_100 0,9
5012 880 Ing_1 43,6
5012 880 Ing_100 1,2
Run Code Online (Sandbox Code Playgroud)
每个配方/版本有 100 种成分。我想像这样显示这个表中的数据: …
我已经从表中获取了这样的记录:
Name Opp Bid Pro
----------------------------------------------------------------------
Admin 2 NULL NULL
Pragnya Sonal 7 NULL NULL
Priyanka Debnath 17 NULL NULL
Sanjeev Sasmal 2 NULL NULL
Subrajeet Sahoo 1 NULL NULL
Pragnya Sonal NULL 2 NULL
Pragnya Sonal NULL NULL 1
Run Code Online (Sandbox Code Playgroud)
但我想以这种格式重新排序这个表:
Admin 2 NULL NULL
Pragnya Sonal 7 2 1
Priyanka Debnath 17 NULL NULL
Sanjeev Sasmal 2 NULL NULL
Subrajeet Sahoo 1 NULL NULL
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题,在此先非常感谢
据我所知,此查询应显示串行列的新值的表达式:
select d.adsrc
from (
SELECT a.attrelid, a.attnum, n.nspname, c.relname, a.attname
FROM pg_catalog.pg_attribute a, pg_namespace n, pg_class c
WHERE a.attnum > 0
AND NOT a.attisdropped
AND a.attrelid = c.oid
and c.relkind not in ('S','v')
and c.relnamespace = n.oid
and n.nspname not in ('pg_catalog','pg_toast','information_schema')
) x
left join pg_attrdef d on d.adrelid = x.attrelid and d.adnum = x.attnum
where x.relname = 'table_name' and x.nspname = 'schema_name' and x.attname = 'column_name'
;
Run Code Online (Sandbox Code Playgroud)
它大部分时间都有效,但如果我重命名序列,新名称不会反映在查询结果中 - 它继续显示序列的原始名称。任何想法为什么?
我正在教一门课,我想向我的学生证明,如果没有明确的ORDER BY. 我观察到即使ORDER BY查询中不存在SQL Server 似乎也返回有序结果。这是一个问题,因为我担心我的学生会在这一点上感到困惑。
观察到的行为示例:
GROUP BY,结果集似乎按最后一列的顺序排列。GROUP BY this, that,以数据的顺序结束,这很奇怪,尤其是在没有索引的情况下。我还没有在其他数据库(如 MySQL、PostgreSQL 和 SQLite)中观察到这种行为。SQL Server 是否有一些根本不同的地方,即使没有ORDER BY?
现在在我看来,在没有被询问的情况下对数据进行排序是一个额外的不必要步骤,会浪费处理时间。真的吗?
是否有某种全局设置可以禁用这种行为?有没有办法让 SQL Server 停止对数据进行排序?
这也使得向学生证明数据不是自动排序的变得更加困难。
谁能给我一个简单的演示脚本,显示结果从执行到执行的变化顺序?
sql-server ×5
postgresql ×2
aggregate ×1
greenplum ×1
group-by ×1
index ×1
mysql ×1
mysql-5.5 ×1
oracle ×1
oracle-asm ×1
order-by ×1
pivot ×1
replication ×1
sequence ×1
t-sql ×1