小编a_h*_*ame的帖子

为什么 Postgres 不遵守“log_filename”规定的我的日志文件名约定?

我在 Ubuntu 14.04 上使用 Postgres 9.5。我在 /etc/postgresql/9.5/main/postgresql.conf 文件中设置了这些设置

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
                                        # can include strftime() escapes
#log_file_mode = 0600                   # creation mode for log files,
                                        # begin with 0 to use octal notation
log_truncate_on_rotation = on           # If on, an existing log file with the
                                        # same name as the new log file will be
                                        # truncated rather than appended to.
                                        # But such truncation only occurs on
                                        # time-driven rotation, not on restarts
                                        # …
Run Code Online (Sandbox Code Playgroud)

postgresql configuration disk-space log files

5
推荐指数
1
解决办法
1155
查看次数

将 SQL Server 数据库从 Windows 移动到 Linux 失败

我们正在尝试将 SQL 服务器数据库从 Windows 移动到 Linux。但是我们在迁移时面临的问题很少。

  1. 我们从 Windows 中的 SSMS 备份了数据库服务器
  2. 我们在 linux 中运行以下命令恢复它:
RESTORE FILELISTONLY FROM  DISK =N'/var/opt/mssql/data/backup_file_name.bak' 
RESTORE DATABASE DB_NAME 
    FROM  DISK = N'/var/opt/mssql/backup_file_name.bak' WITH  FILE = 1,   
    MOVE N'DB_NAME' TO N'/var/opt/mssql/data/DB_NAME.mdf',   
    MOVE N'DB_NAME_Log' TO N'/var/opt/mssql/data/DB_NAME.ldf', 
    NOUNLOAD,  REPLACE,  STATS = 1
GO
Run Code Online (Sandbox Code Playgroud)

运行这个我或多或少地得到一个错误在于:

文件 XX_FlatFline 无法恢复到PATH_IN_WINDOWS {.....mdf}。使用 WITH MOVE 标识文件的有效位置。

MDF 和 LDF 文件都出现错误。上面错误中显示的windows路径是mdf和ldf文件在windows机器中的位置。

有人可以帮助我了解这里出了什么问题吗?当我将转储恢复到新数据库时,为什么 Windows 路径仍然重要?

警告:我是 SQL Server 的新手。

sql-server windows linux ssms

5
推荐指数
1
解决办法
262
查看次数

SQL 2008 将文件存储在哪个文件夹/目录中?

在 Microsoft SQL 2008 Server 中创建新数据库时,在哪里可以设置用于存储数据库的文件夹?

sql-server-2008 sql-server

4
推荐指数
1
解决办法
5万
查看次数

将 COUNT() 理解为 `count`,

我目前正在学习如何在 PHP mysql 中构建站点。但是,我似乎无法理解COUNT() as count,也不介意做进一步的解释。

我得到了 COUNT, 0 || 的原则 1,以及它如何返回与该查询相关的所有值。但是,不知道 COUNT 作为计数是如何工作的。

无论如何,这就是我正在编写的代码的运行方式 - 所以我们有一个工作示例 - 也是我第一次感到困惑的地方。

SELECT COUNT(`id`) as `count`, 
       `id` 
FROM `user` 
WHERE `email`='$email' 
AND `password`='".md5$password."'";
Run Code Online (Sandbox Code Playgroud)

如果有人可以解释是一个很大的帮助!

mysql php

4
推荐指数
1
解决办法
840
查看次数

为什么添加二级索引没有提高选择性能?

我在 MySQL 中有一个名为 的表,messages如下所示:

id (primary key)   | description    |  created_at(timestamp) 
Run Code Online (Sandbox Code Playgroud)

该表应该保存我的应用程序用户之间的聊天消息。因此,对它的写操作次数会很高。

该应用程序有一个 API,可返回两个时间戳之间的所有消息。这个查询也很常见,但少于写操作的次数。

我用 100 个并发连接和该表中的大约 15000 行运行 mysqlslap,总时间约为 8.6 秒。

然后我在 上添加了一个二级索引created_at,希望在两次搜索之间在更短的时间内获得结果,但是对于相同的输入,我增加了 0.3 秒。

为什么我没有看到显着的性能提升?

编辑:

这是我的桌子的样子:

DROP TABLE IF EXISTS `mssg`;

CREATE TABLE `mssg` (
  `id` INTEGER NULL AUTO_INCREMENT DEFAULT NULL,
  `body` MEDIUMTEXT NULL DEFAULT NULL,
  `length` VARCHAR NULL DEFAULT NULL,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)

这就是我添加索引的方式:

ALTER TABLE testalter_tbl ADD INDEX (created_at);
Run Code Online (Sandbox Code Playgroud)

通常,select 语句会返回大约 150 到 350 条消息

mysql index optimization

4
推荐指数
1
解决办法
529
查看次数

将所有表中的所有外键重新创建为可延迟(批处理)

我想让我的数据库中的所有外键都可以延迟。但是不可能改变现有的约束。所以我需要删除并再次添加每个外键。如何自动完成?

postgresql foreign-key ddl

4
推荐指数
1
解决办法
2641
查看次数

回车/换行在 SQL Server 中停止工作

SQL 上周使用旧的 CHAR(13)+CHAR(10) 进行换行/回车工作正常。

DECLARE @text varchar(2000)
SET @text = 
'Attached is your new reporting ID and temporary password.'
+ CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10)
+ 'The new login/password will be updated  on ' + Convert(char(10), @ticketdate,101)
Run Code Online (Sandbox Code Playgroud)

上周这按预期运行,给了我格式很好的文本,行之间有一个空格。

本周,同一台服务器上的相同代码将返回一行长文本。

这似乎是一个整理问题?或类似的东西?

代码按预期工作,因此发生了一些变化,但我无法确定可能发生了什么变化。

这似乎可能是整理问题?但它似乎是默认的拉丁语设置。

sql-server ssms

4
推荐指数
1
解决办法
8531
查看次数

SQL Server 2017 CU1 是否会破坏无集群可用性组?

背景:

我的部门正在从带有镜像的 SQL Server 2008R2 升级到带有无集群可用性组的 SQL Server 2017。直到最近,测试才发现没有问题或危险信号。然后我们安装了 CU1,遇到了问题,卸载了 CU1,问题就消失了。操作系统是带有最新补丁的 server 2016。

CU1 后观察到的行为:

使用 SSMS 或 tsql,我们可以创建一个 2 副本无集群同步可用性组,并向其中添加一个数据库。该组可以多次故障转移而不会出现问题。啊,但是添加第二个数据库,故障转移会出现问题。其中一个数据库总是会处于不同步状态。再多的摆弄也无法让它复活。如果我删除并重新创建整个内容,则可能是其他数据库未同步。记录器中的相关错误消息是“由于异常 35222,无法更新副本状态”。这似乎是一条与集群相关的消息,但由于我们是无集群的,我感到很困惑。在我们卸载两个副本上的 CU1 后,我能够创建 AG 并添加 22 个数据库(包括两个原始数据库)。故障转移没有问题。附带说明一下,自动播种并不总是适用于多个数据库。该操作将失败并显示“种子检查消息超时”。从 AG 中删除这些数据库并一次添加一个是成功的。

我的问题是:

在 CU1 之后,是否还有其他人遇到过无集群 AG 的问题?如果是这样,你在我没有成功的地方成功了吗?

评论/意见:

我认为 CU 将在与 SP 相同的级别进行测试。虽然我知道无论测试多么彻底,错误都会出现,但在第一个测试中发生这种情况令人不安。这将导致我们在部署之前对每个 CU 进行真正的压力测试,这意味着我们不会在它们出现时部署它们。我们只会在我们认为有必要时部署它们。我们是一个没有专门的 dba 的小型组织,需要对所采取的行动有所选择。

availability-groups sql-server-2017

4
推荐指数
1
解决办法
1186
查看次数

在 postgresql 9.2 中搜索当月数据

我试图仅从当月获取 9.2 数据库中的票证数据。

名为 data_cadastro 的字段是 DATETIME。

 id_ticket |    data_cadastro
-----------+---------------------
      2521 | 2017-10-31 08:11:48
Run Code Online (Sandbox Code Playgroud)

我应该怎么做 ?

postgresql-9.2

4
推荐指数
2
解决办法
2万
查看次数

坏循环依赖的定义是什么?

我一直在寻找一个很好的资源,其中循环依赖得到了很好的解释,不幸的是没有找到好的资源。因此,我试图确切地了解我应该避免哪种循环依赖。问题是我发现了一些以矛盾方式解释的资源。有人可以准确解释一下我们应该避免哪些类型的循环依赖(以及为什么)?

以这些关系为例:

在此处输入图片说明

来源

这里提到这种关系是不好的(我不明白为什么)。

但是,这里提到了相同的关系不是问题(并被描述为非循环):

Models <--------------------------- SuperSets
   ^                                    ^
   |                                    |
   |                                    |
Tasks  <---------------------------- Sets
Run Code Online (Sandbox Code Playgroud)

来源


另一个例子是这样的:

在此处输入图片说明

来源

我也不明白为什么这是一个循环关系?

在我看来,以前的所有关系都不是曲线(箭头方向不会回到同一点)。我认为我对循环依赖项的理解有问题。有人可以为我解释一下,特别是在前面的例子中吗?

database-design relations

4
推荐指数
1
解决办法
1863
查看次数