随笔分类 -  数据库

摘要:定义 系统表的定义: 系统表是存放系统信息的普通表或者视图 pg中总共包括56张系统表和23个系统视图,系统视图建立在系统表之上 系统表的创建 pg的每一个数据库中都有一套自己的系统表,其中大多数系统表都是在数据库创建时从模板数据库中拷贝过来的 系统表的维护 系统表中的信息由sql命令关联的系统表操 阅读全文
posted @ 2021-02-05 20:47 明矾 阅读(4237) 评论(0) 推荐(2) 编辑
摘要:Pgpool-II 故障转移(failover)是指 Pgpool-II会将无法访问的PostgreSQL后端节点从集群中分离出去,如果故障的是主机节点,则会提升一个备机节点作为主机继续提供服务。 Pgpool-II通过使用健康检查来确认PostgreSQL后端节点的不可访问性: 【健康检查】 定期 阅读全文
posted @ 2020-12-10 23:50 明矾 阅读(3031) 评论(0) 推荐(0) 编辑
摘要:列举了PostgreSQL集群高可用方案pgpool-II关于健康检测的相关配置项 pgpool-II Pgpool-II是位于PostgreSQL服务器和 PostgreSQL数据库客户端之间的代理软件, 架构图如下: 健康检测常用参数 health_check_period = 5 # Heal 阅读全文
posted @ 2020-12-08 23:36 明矾 阅读(1281) 评论(0) 推荐(0) 编辑
摘要:查看帮助命令 DB=# help --总的帮助 DB=# \h --SQL commands级的帮助 DB=# \? --psql commands级的帮助 按列显示,类似MySQL的\G DB=# \x Expanded display is on. 查看DB安装目录(最好root用户执行) fi 阅读全文
posted @ 2020-11-29 23:16 明矾 阅读(943) 评论(0) 推荐(0) 编辑
摘要:关于pg_wal pg的wal日志保存在数据库目录下的pg_wal/子目录 这个日志存在的目的是为了保证崩溃后的安全,如果系统崩溃,可以“重放”从最后一次检查点以来的日志项来恢复数据库的一致性。 但是也存在日志膨胀的问题 pg提供如下参数控制wal日志的大小 max_wal_size = 1GB m 阅读全文
posted @ 2020-11-25 20:59 明矾 阅读(6360) 评论(0) 推荐(3) 编辑
摘要:pg的高可用、负载均衡和复制特性矩阵如下 后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。 实际操作 1、参数配置 首先配置主机的postgresql.conf vim /usr/local/pgsql/data/postgresql.co 阅读全文
posted @ 2020-11-22 22:48 明矾 阅读(1406) 评论(4) 推荐(0) 编辑
摘要:pg初始化的数据库默认认证方式为trust,该方式允许不输入密码即可登录数据库 trust认证的pg_hba.conf配置如下: 很明显,不安全 新初始化了一个md5认证的数据库(也可以直接修改已有数据库配置) ./initdb -Upostgres -A md5 -D ../data1 -W md 阅读全文
posted @ 2020-11-19 00:15 明矾 阅读(5054) 评论(0) 推荐(0) 编辑
摘要:先看下进程 关于持久性的概念 持久性是指,事务提交后,对系统的影响必须是永久的,即使系统意外宕机,也必须确保事务提交时的修改已真正永久写入到永久存储中。 简单来讲,我往银行存了100块钱,这个存钱流程走完了之后,银行必须保证我存的100块钱一直都在,能查询到,能取出来。 持久性如何实现 最简单的实现 阅读全文
posted @ 2020-11-17 23:17 明矾 阅读(1717) 评论(0) 推荐(0) 编辑
摘要:background writer进程是什么 background writer进程是将共享内存中的脏页写入磁盘的进程。 在对数据进行处理之前都需要将数据从磁盘读到内存中,更新完毕后再将修改的数据写回磁盘,在postgresql中由backgroud writer与server process负责将 阅读全文
posted @ 2020-11-12 23:49 明矾 阅读(1222) 评论(1) 推荐(0) 编辑
摘要:先看看pg都有哪些后端进程 [postgres@mingfan bin]$ ps -ef |grep postgres postgres 389889 1 0 22:11 ? 00:00:00 /usr/local/pgsql/bin/postgres -D ../data postgres 389 阅读全文
posted @ 2020-11-12 22:50 明矾 阅读(1490) 评论(0) 推荐(0) 编辑
摘要:关于数据库 数据库 其实就是存数据的仓库 就像冰箱是存食物的仓库一样 有了它之后 我们就可以在系统上 对数据进行 增删改查 比如我要查看自己余额宝 剩下的那200块钱 要还每个月2000块的花呗账单 这些数据都是系统从数据库中读取出来的 关于数据库的栗子 数据库的诞生和发展 离不开用户需求 举个银行 阅读全文
posted @ 2020-08-25 23:13 明矾 阅读(493) 评论(0) 推荐(0) 编辑
摘要:通常pg集群统一对外提供服务有两种策略 1、通过接口层(比如jdbc)进行集群节点轮询,当主节点不可用后,自动检测集群其他节点状态,发现有主节点后将语句发送至主节点; 2、虚拟ip(vip)提供统一对外服务,集群中的服务往往会自动切换,这对客户机应该是透明的,就需要用虚拟ip来防止客户切换服务器的网 阅读全文
posted @ 2020-07-13 22:42 明矾 阅读(797) 评论(0) 推荐(0) 编辑
摘要:什么是高可用? 目前的理解,高可用是指通过设计减少系统不能提供服务的时间。 如果系统一直能不间断提供服务,我们可以说系统的可用性是100%; 如果系统在时间单位内有1%的时间不能提供服务,我们可以说系统的可用性是99%。 业内通常使用MTTF和MTTR来量化一个模块的可用性。 平均无故障时间(MTT 阅读全文
posted @ 2020-06-07 22:37 明矾 阅读(743) 评论(0) 推荐(1) 编辑
摘要:在postgres中,当max_connect设置过大,启动的时候会报错: FATAL: could not create semaphores: No space left on device 创建semaphores时空间参数不够,查询官网,有这么一段解释: HINT: This error d 阅读全文
posted @ 2020-06-07 11:36 明矾 阅读(2459) 评论(0) 推荐(0) 编辑
摘要:网站 社区网站首页:https://clusterlabs.org/Pacemaker文档:https://clusterlabs.org/pacemaker/doc/Corosync:https://corosync.github.io/corosync/红帽官网:https://access.r 阅读全文
posted @ 2020-06-04 22:29 明矾 阅读(1805) 评论(0) 推荐(1) 编辑
摘要:1、在解压后的主目录下新建my.ini,写入如下内容 [mysqld] basedir ="D:\mysql-5.7.28-winx64" datadir ="D:\mysql-5.7.28-winx64\data" port=33306 server_id =10 character-set-se 阅读全文
posted @ 2020-06-02 21:57 明矾 阅读(153) 评论(0) 推荐(0) 编辑
摘要:所有数据库对比可以参考:http://www.sql-workbench.eu/dbms_comparison.html 原文地址:https://www.cnblogs.com/lyhabc/p/11628042.html 比较版本:PostgreSQL 11 VS MySQL5.7(innodb 阅读全文
posted @ 2020-05-10 15:33 明矾 阅读(2653) 评论(0) 推荐(0) 编辑
摘要:在postgres中,能够使用简单的逻辑备份工具pg_dump做某个数据库的完整备份 问题 如果数据库在运行过程中发生故障, 使用逻辑备份只能将数据库还原到备份时刻, 无法恢复到故障发生前的那个时刻; 由于误操作修改或删除了重要数据, 需要还原到误操作前的那个时刻 解决方案 增量备份和任意时间点恢复 阅读全文
posted @ 2020-05-09 23:22 明矾 阅读(4925) 评论(0) 推荐(2) 编辑
摘要:场景 mysql执行sql脚本报错 mysql -uroot -p wcp <wcp.free.v4.3.0.all.sql ERROR 1406 (22001) at line 486: Data too long for column 'COMMENTS' at row 1 原因 vim制表符问 阅读全文
posted @ 2020-05-04 23:49 明矾 阅读(813) 评论(0) 推荐(0) 编辑
摘要:1、docker 可以执行如下命令一步搭建MySQL数据库: docker run --name mysql -v $PWD/mysql:/var/lib/mysql -p3306:3308 -eMYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 命令中显示我们使用的是D 阅读全文
posted @ 2020-05-04 22:44 明矾 阅读(2374) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示