随笔分类 -  数据库

pg,mysql,oracle
摘要:pg_stat_replication参数详解 postgres=# select * from pg_stat_replication ; pid | usesysid | usename | application_name | client_addr | client_hostname | c 阅读全文
posted @ 2021-11-02 11:14 罗论明 阅读(563) 评论(0) 推荐(0)
摘要:根据同步流复制模式,需要等待至少一个备库接受wal并返回确认信息后主库才向客户端返回成功,一方面保障数据完整性,另一方面如果备库宕机,主库的写操作将出现等待状态,实验环境为一主一备 模拟备库故障 [postgres@localhost pg_root]$ pg_ctl stop -m fast wa 阅读全文
posted @ 2021-11-01 17:28 罗论明 阅读(315) 评论(0) 推荐(0)
摘要:在postgresql.conf文件中的参数 synchronous_commit参数详解 此参数是指:数据库提交事务时是否需要等待wal日志写入硬盘后才向客户端返回成功 这几个参数的含义: 场景1:单实例环境 on:当数据库提交事务时,wal先写入wal buffer在写入wal日志,设置为on时 阅读全文
posted @ 2021-11-01 17:12 罗论明 阅读(469) 评论(0) 推荐(0)
摘要:通过解读pg_stat_replication系统视图,在主库上看 postgres=# select usename,application_name,client_addr,sync_state from pg_stat_replication ; usename | application_n 阅读全文
posted @ 2021-11-01 16:14 罗论明 阅读(395) 评论(0) 推荐(0)
摘要:部署流复制备库的数据复制环节主要包括以下3个步骤:1.pg_stat_backup('francs_bk1'); 2.拷贝主节点$PGDATA数据文件和表空间文件到备节点; 3.pg_stop_backup(); pg_basebackup工具对数据库实例级别进行物理备份,此工具需要超级用户权限或者 阅读全文
posted @ 2021-11-01 15:59 罗论明 阅读(404) 评论(0) 推荐(0)
摘要:恢复内容开始 --物理复制,也称为流复制(streaming replication),通过流复制复制一个一模一样的备库 --逻辑复制,也称之为选择性复制,可以做到基于表级别的复制,pg10之前的不支持内置的逻辑复制,pg10以后有支持内置的逻辑复制 WAL日志记录数据库的变化,流复制和逻辑复制都是 阅读全文
posted @ 2021-11-01 12:20 罗论明 阅读(703) 评论(0) 推荐(1)
摘要:pg10目前仅支持内置分区,列表分区 创建内置分区表的几个步骤: 1.创建父表,指定分区键和分区策略 2.创建分区,创建分区时须指定分区表的父表和子表的取值范围,注意分区键的范围不要有重叠 3.在分区上创建对应的索引,通常分区键上创建索引是必须的,非分区键的索引可以根据业务操作 创建内置分区表 指定 阅读全文
posted @ 2021-10-19 16:28 罗论明 阅读(387) 评论(0) 推荐(0)
摘要:--删除分区 1.drop table 分区表表名; 2.将分区的继承关系去掉(比较稳妥) postgres=# alter table log_ins_201801 no inherit log_ins;ALTER TABLE 传统分区表注意事项 1.目前支持范围分区和列表分区 2.分区表上的索引 阅读全文
posted @ 2021-10-19 15:35 罗论明 阅读(4097) 评论(1) 推荐(0)
摘要:pg10之后有内置分区表,相对于之前传统分区表更好用 传统分区表 --继承表 postgres=# create table tbl_log(id int4,create_date date,log_type text); CREATE TABLE 创建一张子表 postgres=# create 阅读全文
posted @ 2021-10-19 15:25 罗论明 阅读(916) 评论(1) 推荐(0)
摘要:逻辑结构 物理结构 tips: 数据库的OID存储在pg_database系统表中; 数据库中,表,索引,序列等对象的OID存储在pg_class中 创建表空间 [postgres@localhost data]$ mkdir -p /pgdata/10/mytblspc postgres=# cr 阅读全文
posted @ 2021-10-16 15:11 罗论明 阅读(111) 评论(1) 推荐(0)
摘要:--批量插入 1.insert into ... select ... INSERT INTO TABLE_NAME SELECT * FROM SOURCE_TABLE_NAME; 2.insert into values(),(),() 一条sql插入多行数据,相比一条插入能减少与数据库交互,减 阅读全文
posted @ 2021-10-14 21:48 罗论明 阅读(1171) 评论(1) 推荐(0)
摘要:--with查询 1.CTE(common table expression),在复杂查询中定义一个辅助语句(可理解为在查询中定义一个临时表),常用于复杂查询或递归查询 postgres=# with t as (select generate_series(1,3)) select * from 阅读全文
posted @ 2021-10-14 21:17 罗论明 阅读(185) 评论(0) 推荐(0)
摘要:有3种方法进行转换 1.通过格式化函数进行转换 to_char to_date to_number to_timestamp 2通过CAST函数进行转换() 3通过::操作符转换 postgres=# select oid,relname from pg_class where relname='t 阅读全文
posted @ 2021-10-14 14:40 罗论明 阅读(2185) 评论(0) 推荐(0)
摘要:jsonb与json的差异 jsonb:存储格式为二进制,二进制文件是已解析好的数据,检索jsonb时不需要重新解析 json:存储格式为文本,检索json时必须重新解析 对json数据的操作: postgres=# create table test_json1 (id serial primar 阅读全文
posted @ 2021-10-14 14:06 罗论明 阅读(617) 评论(0) 推荐(0)
摘要:\timing 打开或关闭sql执行时间 \watch [seconds] 反复执行上一句sql命令 阅读全文
posted @ 2021-10-13 22:03 罗论明 阅读(122) 评论(0) 推荐(0)
摘要:编辑cat ~/.psqlrc文件 添加脚本 [postgres@localhost ~]$ cat ~/.psqlrc \set active_session ' select pid,usename,datname,query,client_addr from pg_stat_activity 阅读全文
posted @ 2021-10-13 21:55 罗论明 阅读(164) 评论(0) 推荐(0)
摘要:--编写test_2.sql脚本 [postgres@localhost ~]$ cat test_2.sql select * from test_2 where id=:v_id; 通过-v传递参数 [postgres@localhost ~]$ psql -v v_id=1 -f test_2 阅读全文
posted @ 2021-10-13 21:42 罗论明 阅读(443) 评论(0) 推荐(0)
摘要:--编写脚本文件 [postgres@localhost ~]$ cat test_2.sqlcreate table test_2(id int4);insert into test_2 values (1);insert into test_2 values (2);insert into te 阅读全文
posted @ 2021-10-13 21:28 罗论明 阅读(415) 评论(0) 推荐(0)
摘要:--创建用户,创建空间目录,创建数据库,赋权 postgres=# create role pguser with password 'pguser'; CREATE ROLE [root@localhost ~]# mkdir -p /database/pg10/pg_tbs/tbs_mydb r 阅读全文
posted @ 2021-10-13 16:59 罗论明 阅读(256) 评论(0) 推荐(0)
摘要:使用pg_ctl方式进行管理 1.数据库的启动,查看状态,关闭 [root@localhost ~]# su - postgres Last login: Tue Oct 12 23:34:33 EDT 2021 on pts/1 [postgres@localhost ~]$ /opt/pgsql 阅读全文
posted @ 2021-10-13 13:45 罗论明 阅读(239) 评论(0) 推荐(0)