DB
文章平均质量分 87
ZeekerLin
技术 产品 管理
——若要前行,就得离开你现在停留的地方
展开
-
PostgreSQL 高可用性与容错性(十三)
配置 Prometheus 采集 PostgreSQL 指标,并设置 Grafana 监控面板和警报规则。使用 Prometheus、Grafana 等工具监控 PostgreSQL 数据库状态和性能。部署 Patroni 来管理 PostgreSQL 高可用集群。将备份目录复制到新的数据目录并启动 PostgreSQL。结合流复制和负载均衡器实现自动故障切换。配置多主复制以支持异地多活架构。原创 2024-06-25 19:08:19 · 776 阅读 · 0 评论 -
PostgreSQL 日志管理与故障排查(十二)
集成监控工具(如 Prometheus、Zabbix)监控 PostgreSQL 数据库状态和性能。PostgreSQL 提供多种日志级别,可根据需求配置详细程度。检查数据库连接是否配置正确,查看日志中的连接错误信息。),优化执行时间过长的查询。分析日志中的慢查询日志 (原创 2024-06-25 19:05:31 · 897 阅读 · 0 评论 -
PostgreSQL 索引优化与性能调优(十一)
索引是一种数据结构,用于快速定位和访问数据库表中的特定行。在 PostgreSQL 中,常见的索引类型包括 B-tree、哈希、GiST 和 GIN 等。原创 2024-06-25 19:02:31 · 422 阅读 · 0 评论 -
PostgreSQL 分区表与并行查询(十)
分区表是将大表分割成更小、更可管理的部分的技术。每个分区表都可以单独进行索引和查询,从而提高查询性能和管理效率。PostgreSQL 支持并行查询,可以利用多核处理器并行执行查询操作,提高查询性能。原创 2024-06-25 18:58:51 · 532 阅读 · 0 评论 -
PostgreSQL 高级功能与扩展(九)
JSONB 是 PostgreSQL 中的一种数据类型,用于存储 JSON 格式的数据,并提供高效的查询和索引功能。原创 2024-06-25 18:56:05 · 311 阅读 · 0 评论 -
PostgreSQL 高可用性与灾难恢复策略(七)
使用监控工具(如Zabbix、Prometheus)监控数据库和复制状态。在需要恢复部分数据或表时,可以使用逻辑复制进行精确的恢复操作。如果主数据库不可用,可以通过物理备份和流复制从备库快速恢复。逻辑复制允许选择性地复制指定表或数据库,比流复制更灵活。安装和配置 Patroni,启动自动故障转移和集群管理。监控数据库状态和复制延迟,确保及时发现和解决问题。工具创建逻辑备份,备份数据库的逻辑结构和数据。使用流复制实现主从复制,提高系统的可用性和性能。工具创建物理备份,备份数据库的整个数据目录。原创 2024-06-25 18:45:30 · 451 阅读 · 0 评论 -
PostgreSQL 性能优化与调优(六)
PostgreSQL 支持并行查询,可以利用多核处理器提升查询性能。索引可以显著提高查询性能。配置日志记录和监控,以识别和诊断性能问题。尽量使用批量操作替代逐条操作,以提高性能。调整 PostgreSQL 配置文件()中的参数,以优化性能。原创 2024-06-25 18:39:00 · 959 阅读 · 0 评论 -
PostgreSQL 高级功能(五)
存储过程是一组预编译的SQL语句,可以简化复杂的操作。PostgreSQL 支持存储和操作 JSON 数据类型,非常适合处理半结构化数据。函数与存储过程类似,但函数可以返回值。PostgreSQL 提供了强大的全文搜索功能,用于高效地搜索文本数据。触发器是在特定事件发生时自动执行的程序,如插入、更新或删除操作。PostgreSQL 提供了丰富的扩展,可以扩展其功能。表上创建触发器,当插入新用户时,自动记录时间戳到。原创 2024-06-25 18:30:53 · 613 阅读 · 0 评论 -
PostgreSQL 数据库设计与管理(四)
ER模型用于描述数据和数据之间的关系。它包括实体(如用户、订单)、属性(如用户名、订单金额)和关系(如用户与订单之间的一对多关系)。反规范化是适当地引入冗余数据,以减少查询时的联接操作,从而提高性能。规范化是组织数据库结构的一种方法,旨在减少数据冗余并提高数据完整性。备份是保护数据免受损失的重要手段。PostgreSQL 使用多版本并发控制(MVCC)来实现高效的并发控制。数据完整性是指数据库中数据的准确性和一致性。恢复物理备份涉及到将备份文件复制回数据目录,并启动数据库。确保数据库的安全性非常重要。原创 2024-06-25 18:25:26 · 737 阅读 · 1 评论 -
PostgreSQL 高级SQL查询(三)
窗口函数用于在查询结果集中执行计算,类似于聚合函数,但不缩小结果集的范围。子查询是嵌套在另一个查询中的查询,用于复杂的查询操作。可以分为两类:标量子查询和表子查询。左连接返回左表中的所有记录,即使右表中没有匹配的记录。右连接返回右表中的所有记录,即使左表中没有匹配的记录。全连接返回左表和右表中所有匹配的记录以及不匹配的记录。子句用于将结果集按照一个或多个列进行分组。内连接用于返回两个表中存在匹配关系的记录。子句用于过滤分组后的结果集。表子查询返回一个结果集,可以在。标量子查询返回单个值,可以在。原创 2024-06-25 18:20:04 · 583 阅读 · 0 评论 -
PostgreSQL 基本SQL语法(二)
子句用于过滤数据,仅返回满足条件的记录。语句用于从数据库中检索数据。语句用于向表中插入数据。语句用于更新表中的数据。语句用于从表中删除数据。原创 2024-06-25 17:53:41 · 714 阅读 · 0 评论 -
PostgreSQL 简介与基础(一)
PostgreSQL(常简称为Postgres)是一种功能强大的开源关系型数据库管理系统(RDBMS)。它以其可靠性、强大的功能和符合标准的特性著称。ACID 事务外键、联接、视图、触发器存储过程(可用多种编程语言编写)完全支持各种数据类型(如整数、浮点数、文本、日期/时间、布尔值、数组、JSON 等)原创 2024-06-25 17:47:27 · 1190 阅读 · 0 评论 -
PostgreSQL 安全性与权限管理(八)
通过以上内容,读者可以学习如何有效地管理 PostgreSQL 数据库的安全性和权限,保护数据库免受潜在的威胁和攻击,确保数据的保密性、完整性和可用性。使用监控工具(如 pg_stat_statements、pg_activity)监视数据库活动和性能。在 PostgreSQL 中,角色可以是用户或组的抽象概念,用于管理数据库的访问权限。使用 SSL/TLS 加密保护数据库连接,防止数据在传输过程中被窃听或篡改。用户是具体的数据库登录实体,可以登录到数据库并执行操作。提供额外的加密功能,保护敏感数据。原创 2024-06-25 18:52:42 · 425 阅读 · 0 评论 -
Postgresql学习及特性
### 一. Postgresql简介#### 1.1 PostgreSQL概述- PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON和JSONB类型、数组类型)和自定义类型。而且他提供了丰富的接口,可以很容易的扩展它的功能,如可以再GiST框架下实现自己的索引类型等。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发原创 2018-01-08 17:30:45 · 3524 阅读 · 0 评论 -
PostgreSQL 传统 hash 分区方法和性能
背景除了传统的基于trigger和rule的分区,PostgreSQL 10开始已经内置了分区功能(目前仅支持list和range),使用pg_pathman则支持hash分区。从性能角度,目前最好的还是pg_pathman分区。但是,传统的分区手段,依旧是最灵活的,在其他方法都不奏效时,可以考虑传统方法。如何创建传统的hash分区1、创建父表creat转载 2018-01-03 17:11:58 · 1218 阅读 · 0 评论 -
MySQL之——数据表分区技术PARTITION浅析
这篇文章主要介绍了Mysql数据表分区技术PARTITION浅析,分别介绍了 Mysql 中的分区技术 RANGE、LIST、 HASH,需要的朋友可以参考下。在这一章节里, 我们来了解下 Mysql 中的分区技术 (RANGE, LIST, HASH) Mysql 的分区技术与水平分表有点类似, 但是它是在逻辑层进行的水平分表, 对于应用而言它还是一张表, 换句话说: 分转载 2018-01-03 17:02:27 · 394 阅读 · 0 评论 -
linux下更改MySQL数据库目录位置
From:http://tech.e800.com.cn/articles/2009/828/1251424244242_1.htmlMySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步: 1、home目录下建立data目录 cd /home mkdir data 2、把MySQL服务转载 2016-06-06 16:58:41 · 343 阅读 · 0 评论 -
利用DB Link两步搞定Oracle两个数据库间的表同步
1,在目标机上建立Oracle DB Link:A,在network/admin/tnsname.ora文件中加入源库的连接信息,如:AAA= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.1.3)(PORT = 1521)) (CONNECT_DATA = (SERVER = DE转载 2009-10-13 16:38:00 · 1070 阅读 · 0 评论 -
MySql连接池报错
02 04 16:37:44 WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] resourcepool.BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@c055e0 -- Acquisition原创 2014-02-07 09:50:52 · 7690 阅读 · 1 评论 -
在Oracle中写出性能优良的SQL语句
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表转载 2010-06-11 10:36:00 · 788 阅读 · 0 评论 -
当ORACLE归档日志满后如何正确删除归档日志
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE。 一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。 二、把归档日志的物理文件删除后,我们就可以正常登入ORA原创 2010-01-29 14:23:00 · 114811 阅读 · 0 评论 -
mysql分表和表分区详解
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实转载 2015-08-07 10:45:50 · 435 阅读 · 0 评论 -
创建mysql表分区的方法
mysql测试版本:mysql5.5.28mysql物理存储文件(有mysql配置的datadir决定存储路径)格式简介数据库engine为MYISAMfrm表结构文件,myd表数据文件,myi表索引文件。INNODB engine对应的表物理存储文件innodb的数据库的物理文件结构为:.frm文件.ibd文件和.ibdata文件:这两种文件都是存放innod转载 2015-08-07 10:55:22 · 619 阅读 · 0 评论 -
sql语句查询经纬度范围
指定一个经纬度,给定一个范围值(单位:千米),查出在经纬度周围这个范围内的数据。 经度:113.914619 纬度:22.50128 范围:2km longitude为数据表经度字段 latitude为数据表纬度字段 SQL在mysql下测试通过,其他数据库可能需要修改 SQL语句如下: Java代码 select * from l转载 2015-12-07 10:01:39 · 2888 阅读 · 0 评论 -
SQL通过经度和纬度(已知的一个点)来查询方圆4km内符合条件的信息
我想通过 经度和纬度(已知的一个点)来查询方圆4km内符合条件的信息,想通过公式d=r*arccos[cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)]计算出d,然后把计算出来的d作为一列,然后条件查询,最后再将距离以字符串的形式显示出来,应该怎样实现啊? --lng 经度 竖 lat 维度 横declare @lat floatdeclare @lng f转载 2015-12-07 10:02:37 · 4261 阅读 · 0 评论 -
mysql分表和表分区详解
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可转载 2016-02-18 10:39:39 · 586 阅读 · 0 评论 -
基于MySQL实现按距离排序、范围查找
简介现在几乎所有的O2O应用中都会存在“按范围搜素、离我最近、显示距离”等等类似的功能,那这样的功能是怎么实现的呢?本文提供了基于MySQL的实现方式,同样适用于其它数据库。本文不分析,只讲怎么实现,有关分析的文章可以看参考链接。实现为了方便下面说明,先给出一个初始表结构:CREATE TABLE `customer` ( `id` INT(11) UNSIGN转载 2016-05-13 20:44:37 · 6516 阅读 · 0 评论 -
APP表情存入mysql数据库失败处理
一、问题手机端APP添加表情后端报错,典型错误如下:查看tomcat后台日志,核心报错信息如下: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1at com.mysql.jdbc.SQLErro原创 2016-05-11 17:56:44 · 2195 阅读 · 0 评论 -
Mysql执行大文件sql语句
如果.sql文件过大,mysql会直接断开连接解决方法:在mysql的配置文件my.cnf 中加入 一行max_allowed_packet = 100M(该大小>=mysql.sql文件大小)[mysqld]max_allowed_packet=20000Mwait_timeout=20000000interactive_timeout = 200原创 2016-06-08 14:23:20 · 7012 阅读 · 0 评论 -
Mysql中分区表的使用总结
当数据量非常大时(表的容量到达GB或者是TB),如果仍然采用索引的方式来优化查询,由于索引本生的消耗以及大量的索引碎片的产生,查询的过程会导致大量的随机I/O的产生,在这种场景下除非可以很好的利用覆盖索引,否则由于在查询的过程中需要根据索引回数据表查询,会导致性能受到很大的影响,这时可以考虑通过分区表的策略来提高查询的性能。不同的数据库管理系统对分区的实现可能有所区别,本文主要以MYSQL为基转载 2016-06-08 15:54:29 · 3947 阅读 · 0 评论 -
利用oracle快照实现两台数据库服务器表同步
利用oracle快照实现两台数据库服务器表同步。举例,如源数据库A,目标数据库B,数据库B需要同步数据库A的表CROSS,具体步骤如下:1、首先在数据库B中创建DBLINK;-- Create database link create database link DB_LINK_TEST connect to ITS_L identified by ITSADMIN u原创 2010-08-04 16:39:00 · 3654 阅读 · 2 评论