开发者学堂课程【数据仓库 ACP 认证课程:[视频]云原生数据仓库 AnalyticDB PostgreSQL 版解析与实践(上) 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/928/detail/14626
[视频]云原生数据仓库 AnalyticDB PostgreSQL 版解析与实践(上)
四、核心功能解析与实践
1.常见运维SQL命令
①常用运维SQL
实例
库
Schema
表
用户
权限
锁
资源队列
存储配额
落盘文件
②常用运维命令
实例
节点
参数
2.实例运维 SQL
SQL |
说明 |
select now0 from gp_dist_random("gp_id") |
在每个节点运行now0函数,返回则表明所有节点运行正常 |
select * from pg_stat_activity where query!='<IDLE>' and pid!= pg_backend_pid0 and state!="idle' order by query_start asc |
查看状态不为idle的连接和运行SQL,按开始时间排序,该输出包含进程号,会话号执行用户,客户端P,开始时间,当等信息前状态,是否在等待 |
select pg_cancel_backend(<PID>); |
取消或结束运行中的SQL(优先执行cancel,若无法取消,则执行terminate ) |
select * from gp_segment_configuration ; |
查看所有segment节点; |
select * from gp_segment_configuration where status = "d'; |
查看down的segment节点; |
select * from gp_segment_configuration where role !=preferred_role; |
查看不平衡的segment节点 |
select * from gp_configuration_history ; |
查看所有segment节点的历史状态变更信息 |
select datname, pg_size_pretty(pg_database_size(datname))from pg_catalog.pg_database; |
查看所有数据库的大小 |
select pg_size_pretty(pg_database_size('yinc2')); |
查看指定数据库的大小 |
Select now()form gp_dist_random(“gp_id”)
检查实例当前是否可用,每个节点都可以返回,则说明都可以使用
3.Schema 运维 SQL
SQL |
说明 |
select table_name from information_schema.tables where table_schema='myschema’ ; |
查看指定schema下所有表
|
select table_name, pg_total_relation_size(quote_ident(table_name)) frominformation_schema.tables where table_schema = 'myschema' order by 2 desc limit 5; |
查看指定schema下表大小(由大到下排序)
|
非分区表: select pg_size_pretty(pg_relation_size(public.t1')); 分区表: select pg_size_pretty(pg_total_relation_size('public.t1')); |
查看指定表大小
|
select oid from pg_class where relname='b' and relnamespace in (select oid from pg_namespace where nspname='public'); |
查看指定表public.b的oid |
select * from pg_stat_last_operation where objid='public.table_name':regclass::oid order by statime; |
查看指定表public.table_name的操作记录
|
4.DEMO
①创建实例
②使用控制台
③连接数据库
④建表并导入数据
⑤执行SQL查询
⑥查看分析执行计划
⑦常用运维SQL
登录阿里云官网
立即购买
进入实例选型(根据实际情况选择)
高性能(基础版)相当于单副本
产品控制台查看、账号管理(创建初始账号)、创建外网地址(本地电脑)
实时监控(体验优化改版,有更好的体验)
需要连接的话,创建白名单
备份恢复
连接数据库
使用文档下载跑 psql 客户端
输入密码
建表语法
CREATE TABLE NATION(
N_NATIONKEY INTEGER NOT NULL,
N_NAME CHAR(25) NOT NULL,
N_REGIONKEY INTEGER NOT NULL,
N_COMMENT VARCHARK (152)
)
WITH (APPENDONLY=TRUE,ORIENTATION=COLUMN,COMPRESSTYPE=ZSTD,COMPRESSLEVEL=9)
DISTRIBUTED Replicated
;
CREATE TABLE REGION (
R_REGIONKEY INTEGER NOT NULL,
R_NAME CHAR(25) NOT NULL,
R_COMMENT VARCHAR(152)
)
WITH(APPENDONLY=TRUE,ORIENTATION=COLUNN,CONPRESSTYPE=ZSTD,COMPRESSLEVEL=9)
DISTRIBUTED Replicated
继续建表
数据导入后后台会自动合并与排序
通过 COPY 或 OSS 导入
执行加 analyse
运维SQL:
SQL成功返回,说明实例是可用的
节点期望的角色和真正的角色
数据是否同步
数据库大小查看
指定表welcome,719兆,压缩完157兆,相当于1/5、1/4之间
指定表查看
Waiting 是 ture等锁释放
查看每张表是否被锁
5.真题讲解
①在实例规格选型层面,决定ADBPG实例复杂SQL查询性能RT的最关键因素是? B
A.Segment节点CPU核数
B.Segment节点数量
C. Master节点CPU核数
D. Master节点数量
节点数量越多,说明处理SQL节点越多,执行越快
CPU核数越多,处理并发能力越高
②ADBPG支持的表分布策略包括? ACD
A.哈希
B.指定节点
C.复制
D.随机
③ADBPG那个表类型支持主键索引? A
A.堆表
B.AO行存表
C.AO列存表
D.OSS外表
数据都在 OSS 上,所以不支持
④那张表可以查看当前运行的SQL ? C
A. pg_current_sql(迷惑)
B. gp_segment_configuration
C. pg_stat_activity
D. gp_locks_on_relation
⑤用于结束指定会话的SQL是? B
A. select pg_cancel_backend()
B. select pg_terminate_backend()
C. select pg_sleepo
D. select pg_stop()(迷惑)