11 2019 档案
摘要:PostgreSQL 自动备份,并删除10天前的备份文件. 第一步,创建脚本,命名back.bat文件,可直接点击执行或者CMD执行此批处理命令。 @ECHO OFF @setlocal enableextensions @cd /d "%~dp0" ##set PGPASSWORD=passwor
阅读全文
摘要:最近刚接触到PostgreSQL数据库,发现很多功能比较强大的内置函数,特此记录下来。示例下次再补。 1.concat 字符串连接函数 2.concat_ws concat_ws函数连接可自定义分隔符 3.rpad | lpad 字符串填充或者缩短,如 rpad(s1,len,s2)返回字符串s1,
阅读全文
摘要:1.JSON类型 PostgreSQL支持JSON和JSONB。这两种类型在使用上几乎完全一致,主要区别是: (1)JSON类型把输入的数据原封不动的存放到数据库中。JSONB类型在存放时把JSON解析成二进制格式。 (2)JSONB支持在其上建索引,而JSON不能,这是JSONB的一个很大的优点。
阅读全文
摘要:数值类型 数值类型由两个字节,4字节和8字节的整数,4字节和8字节的浮点数和可选精度的小数。下表列出了可用的类型。 www.yiibai.com NameStorage SizeDescriptionRange int2 2 bytes small-range integer -32768 to +
阅读全文
摘要:前些天在CentOS 7.5 下安装了PostgreSQL 11.6。除了在无外网环境下需要另外配置之外,其他没有什么差别。今天主要写一下在Windows下面安装PostgreSQL的问题。 在官网看到下面的不同PostgreSQL版本需安装在相应Windows版本上。我觉得这是指PostgreSQ
阅读全文
摘要:Redis 基础介绍 一、Redis介绍 二、Redis和Memecache的不同 三、Redis的最佳应用场景: 四、Redis支持的键值类型 五、安装Redis 六、Redis启动方式 七、Redis配置文件介绍 八、Redis常用命令 一、Redis介绍 Redis是一个开源,高级的键值存储和
阅读全文
摘要:简介 我们已经知道SQL Server IO最小的单位是页,连续的8个页是一个区。SQL Server需要一种方式来知道其所管辖的数据库中的空间使用情况,这就是GAM页和SGAM页。 Global Allocation Map Page GAM(全局分配位图)是用于标识SQL Server空间使用的
阅读全文
摘要:MongoDB 常用的几大GUI工具 MongoDBCompass (官方的连接工具),免费的,界面简洁,不支持 sql 查询,支持性能监控。支持在三大平台 Windows 、Mac 、Linux 上运行。 下载链接:MongoDBCompass 性能监控,需要对应的权限。 Robo 3T 免费的,
阅读全文
摘要:索引设计是数据库设计中比较重要的一个环节,对数据库的性能其中至关重要的作用,但是索引的设计却又不是那么容易的事情,性能也不是那么轻易就获取到的,很多的技术人员因为不恰当的创建索引,最后使得其效果适得其反,可以说“成也索引,败也索引” 本系列文章来自Stairway to SQL Server Ind
阅读全文
摘要:0.参考文献 Microsoft SQL Server企业级平台管理实践 第11章 Buffer Latch Timeout的解析 什么是PAGELATCH和PAGEIOLATCH 1.PAGELATCH_x和PAGEIOLATCH_x介绍 在分析SQL server 性能的时候你可能经常看到 PA
阅读全文
摘要:描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存。通过页面上的读写操作,可以确保内存结构的一致性。从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Engine中执行轻量级同步。 闩锁确保内存一致性,而锁确保逻辑事务一致性。当多个用户或应用程序同时访问同
阅读全文
摘要:在SQL Server中,我们通常使用用户定义的函数来编写SQL查询。UDF接受参数并将结果作为输出返回。我们可以在编程代码中使用这些UDF,并且可以快速编写查询。我们可以独立于任何其他编程代码来修改UDF。 在SQL Server中,我们具有以下类型的用户定义函数。 标量函数:标量用户定义的函数返
阅读全文
摘要:2019年11月4日微软发布了2019正式版,该版本有着比以往更多强大的新功能和性能上的优势,可参阅SQL Server 2019 新版本。 SQL Server 2019具有一组丰富的增强功能和新功能。特别是,数据库引擎中有许多新功能改进,以实现更好的性能和查询调整。 一些重要的增强功能包括: 行
阅读全文
摘要:锁机制在 PostgreSQL 里非常重要 (对于其他现代的 RDBMS 也是如此)。对于数据库应用程序开发者(特别是那些涉及到高并发代码的程序员),需要对锁非常熟悉。对于某些问题,锁需要被重点关注与检查。大部分情况,这些问题跟死锁或者数据不一致有关系,基本上都是由于对 Postgres 的锁机制不
阅读全文
摘要:抛出错误行号是我们在写SQL中常用到的,在SQL Server和Oracle中都很简单,但是在PostgreSQL怎么实现呢?在网上查了下资料只有pg_exception_context包含错误行,我们可以根据具体情况来截取。脚本如下: do language plpgsql $$ declare
阅读全文
摘要:关于持久性 持久性是指,事务提交后,对系统的影响必须是永久的,即使系统意外宕机,也必须确保事务提交时的修改已真正永久写入到永久存储中。 最简单的实现方法,当然是在事务提交后立即刷新事务修改后的数据到磁盘。但是磁盘和内存之间的IO操作是最影响数据库系统影响时间的,一有事务提交就去刷新磁盘,会对数据库性
阅读全文
摘要:昨天分别在外网和无外网环境下安装PostgreSQL,有外网环境下安装的相当顺利。但是在无外网环境下就是两个不同的概念了,可谓十有八折。感兴趣的同学可以搭建一下。 PostgreSQL安装完成后第一件事便是做相关测试,然后调整参数。 /*CPU 查看CPU型号*/ cat /proc/cpuinfo
阅读全文
摘要:学习MySQL时我们都知道索引对于一个SQL的优化很重要,而EXPLAIN关键字在分析是否正确以及高效的增加了索引时起到关键性的作用。 这篇文章显示了如何调用“EXPLAIN”来获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法。这个功能有局限
阅读全文
摘要:本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL
阅读全文
摘要:1、前言 相信工作了一段时间的同学肯定都用过事务,也都听说过事务的4大特性ACID。ACID表示原子性、一致性、隔离性和持久性。一个很好的事务处理系统,必须具备这些标准特性: 原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失
阅读全文
摘要:锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或县城并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁
阅读全文
摘要:介绍: Innodb给MYSQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。Innodb锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。没有在Innodb中扩大锁定的需要,因为在Innodb中行级锁定适合非常小的空间
阅读全文
摘要:Mysql常见的引擎 常用的引擎是:Innodb和Myiasm这两种引擎: innodb: 提供了对事务的ACID操作,还提供了行级锁和外键约束,,他的优势就是处理大量数据,在msql启动的时候,首先会建立一个缓存池,主要是缓存数据和索引,但是操作大规模的数据查找时很慢,所以建议当需要数据库的事务操
阅读全文
摘要:MYSQL 服务器逻辑架构图 连接/线程处理 == 》 (解析器 –> 查询缓存) 》 优化器 》 存储引擎 服务器级别锁MYSQL 使用的锁类型:表锁(显式:LOCK TABLE,隐式)全局锁(read_only=1,FLUSH TABLE WITH READ LOCK)命名锁 :服务器重命名或者
阅读全文
摘要:简介 之前我已经写了一个关于SQL Server日志的简单系列文章。本篇文章会进一步挖掘日志背后的一些概念,原理以及作用。 数据库的可靠性 在关系数据库系统中,我们需要数据库可靠,所谓的可靠就是当遇见如下两种情况之一时保证数据库的一致性: 在系统崩溃/故障等情况下,保证数据库的一致性 数据不能在多个
阅读全文
摘要:2019 年 11 月 4 日,微软在美国奥兰多举办的 Ignite 大会上发布了关系型数据库 SQL Server 的新版本。与之前版本相比,新版本的 SQL Server 2019 具备以下重要功能:在 Linux 和容器中运行的能力,连接大数据存储系统的 PolyBase 技术。 据了解,SQ
阅读全文
摘要:简介 SQL Server 2012之后对窗口函数进行了极大的加强,但对于很多开发人员来说,对窗口函数却不甚了解,导致了这样强大的功能被浪费,因此本篇文章主要谈一谈SQL Server中窗口函数的概念。 什么是窗口函数 窗口函数,也可以被称为OLAP函数或分析函数。理解窗口函数可以从理解聚合函数开始
阅读全文
摘要:很多人在开发需求中想获取一个随机数,或者从一组数字中获取一个数, 这个需求很简单,而且有很多方式可以实现,下面就介绍几种常见的方式,以作为笔记或供有需要的人参考. 比如有一组数字: 57 59 63 66 89 92 95,我们要从中随机取出一个:
阅读全文
摘要:在我们的工作中可能会遇到这样一种情形。由于数据库中某些对象被altered/created/deleted,造成我们的应用程序crash。 当我们把问题解决之后,老板可能会问发生了什么?为什么会这样?是谁干的? 在SQL Server 2005中提供了DDL trigger,它能回答所用这些问题,但
阅读全文
摘要:一、背景 有一天我发现SQL Server服务器的错误日志中包括非常多关于sa用户的登陆错误信息:“Login failed for user 'sa'. 原因: 评估密码时出错。[客户端: XX.XX.XX.XX]”。可是我很久之前就已经禁用了sa用户,怎么还会有那么多的sa用户登陆信息呢?我猜想
阅读全文
摘要:select loginname, loginsid, spid, hostname, applicationname, servername, databasename, objectname, e.category_id, cat.name, textdata, starttime, endtime, duration, eventclass, eventsubclass, e.name as
阅读全文
摘要:今天在论坛看到一则帖子,数据库被还原了想查是谁做的。因为操作是远程桌面登录到WINDOWS所以个人觉得很容易找到是谁,根据WINDOWS SECURITY日志和SQL Server日志还原事件就可以找到登录WINDOWS的账户了。但是他们公用一个WINDOWS账户,所以无法查出来(建议不要用共同的W
阅读全文
摘要:背景 当数据库的表、存储过程经常别修改,当这些修改造成BUG的时候,很多开发都不承认是他们干的,那我们有没办法找出谁干的呢? SQL Server有Default Trace默认跟踪,数据库记录信息到log.trc文件,可以查看trace_event_id,46表示Create对象(Object:C
阅读全文