Gauss200使用分享

登录、授权控制

解锁账户

su - omm
gsql -d db_rdb -p 8000 -ralter user ado_user account unlock;
alter user sig_qry_rpt account unlock;

参数控制 && 优化参考

只读模式解锁

su - omm
gs_guc reload -Z coordinator -Z datanode -N all -I all -c "default_transaction_read_only = false"

设置白名单


vim /hwapp/gaussdb200/data/data_cn/pg_hba.confhost    all    all   10.25.168.80/32    sha256

/hwapp/gaussdb200/data/data_cn/pg_hba.conf 的来源
find / -name pg_hba.conf

数据库参数配置

在服务器上搜名字为postgresql.conf的文件
配置文件的路径查询:SELECT distinct sourcefile FROM pg_settings where sourcefile is not null;

# 超时时间
SELECT name, setting, sourcefile FROM pg_settings where name like '%session_timeout%';

编辑配置(要重启数据库)

vim /hwapp/gaussdb200/data/data_cn/postgresql.conf

查看数据库最大连接设置

show max_connections;

查询数据库当前的连接数量

select count(1) from pg_stat_activity;

查看数据表大小

SELECT table_catalog,table_schema,table_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size 
FROM information_schema.tables
where table_catalog='db_rdb' and table_schema = 'sig_qry_rpt' --and table_name='t311_common_video_detail_mi'
ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') desc;

查询数据库的大小

select datname,pg_size_pretty(pg_database_size(datname)) from pg_database;

查看高斯200 连接情况、sql执行、卡表

select max(query_start) as query_start,max(state_change) as state_change,client_hostname,query,count(1) as num,max(state) 
from pg_stat_activity where query like '%443%' 
group by client_hostname,query order by query_start;

杀数据库进程

# 找到卡顿的进程id
select pid from pg_stat_activity;# 发生停止信号(线程不会立即停止,需等其任务完成后才会终止)
SELECT pg_terminate_backend(pid);

重启数据库

systemctl restart gauss

定时任务

创建存储过程


CREATE OR REPLACE FUNCTION sig_qry_rpt.p_xxxx(sample_id bigint, current_export_time character varying) RETURNS voidLANGUAGE plpgsqlNOT FENCED SHIPPABLE
AS
$$
DECLAREcurrent_ip1 varchar(50);
beginselect (string_to_array(ipv4, ';'))[1] into current_ip1 from sig_qry_rpt.pl_data where id = sample_id;insert into sig_qry_rpt.t310_video_detail_mi_plwith tmp as (select (string_to_array(ipv4, ';'))[1] as ip1,(string_to_array(ipv4, ';'))[2] as ip2,(string_to_array(ipv4, ';'))[3] as ip3,(string_to_array(ipv4, ';'))[4] as ip4,(string_to_array(ipv4, ';'))[5] as ip5,(string_to_array(ipv4, ';'))[6] as ip6from sig_qry_rpt.pl_datawhere id != sample_idorder by id)SELECT videosite,videositeid,stat_timefrom sig_qry_rpt.t310_video_detail_mi_pl tcross join tmp awhere t.export_time = current_export_timeand account in (current_ip1, current_ip2, current_ip3, current_ip4, current_ip5, current_ip6);
end;
$$;

开启定时任务

-- 10分钟执行一次
select sig_qry_rpt.add_jobs('call sig_qry_rpt.UPDATE_T409_TOTAL_COUNT();',sysdate + 10/(24*60),'sysdate+10/(24*60)');select * from pg_job;

应用

查看建表信息(包含分区)DDL

select * from pg_get_tabledef('sig_qry_rpt.db_cmcc_info');

分区

新建分区
ALTER TABLE sig_qry_rpt.t315_tcp_common_detail_mi ADD PARTITION partition_1687708800 VALUES LESS THAN(1687708801);
查询表分区
SELECT part.relname,substring(part.relname, 11),to_timestamp(to_number(substring(part.relname,11))) from pg_partition part
join  pg_class pc on pc.oid = part.parentid
where pc.relname = lower('t408_user_dnsip_stat_d') and part.parttype='p' and part.relname like 'partition_%'
ORDER BY part.relname;

索引

建立索引
# 普通索引
DROP INDEX IF EXISTS sig_qry_rpt.t443_total_user_attr_d_account_index;
CREATE INDEX t443_total_user_attr_d_account_index ON sig_qry_rpt.t443_total_user_attr_d (account);# 分区索引
DROP INDEX IF EXISTS ado_v1r5c05.T_FILTER_BOX_FLOW_index;
CREATE INDEX T_FILTER_BOX_FLOW_index ON ado_v1r5c05.T_FILTER_BOX_FLOW(DATA) LOCAL;
重建表(分区)的索引
-- 目前不支持单个分区重建索引
REINDEX TABLE sig_qry_rpt.t316_top_url_mi -- PARTITION partition_1685721600;
建分区表
CREATE TABLE sig_qry_rpt.test
("account" varchar(400) NULL,protocolname varchar(400) NULL,subprotocolname varchar(400) NULL
)
WITH (orientation=column, compression=low)
DISTRIBUTE BY HASH(account)
TO GROUP group_version1
PARTITION BY RANGE (export_time)
(PARTITION partition_1664553600 VALUES LESS THAN ('1664553601') TABLESPACE pg_default,PARTITION partition_1664640000 VALUES LESS THAN ('1664640001') TABLESPACE pg_default
)
ENABLE ROW MOVEMENT;
特定时间段分组
将时间戳按照5分钟分组
to_number(statTime) - to_number(statTime) % (5 * 60)

特殊语法

-- 时间转星期
select (case when extract(DOW FROM '2023-05-05 00:00:00'::timestamp) = 0.0000 then 7 else extract(DOW FROM '2023-05-05 00:00:00'::timestamp) end)::int as weekday

字符串/时间戳互转

select EXTRACT(epoch FROM CAST('2023-06-24 18:00:00' AS TIMESTAMP)) - 8 * 3600;select substring(to_timestamp(1687600800), 0, 20);

临时变量

SET var.startTime = '1690905600';
SELECT current_setting('var.startTime');

函数相关

字段判断处理case when
(case when a.effective = 'null' then null else a.effective end)
时间戳转时间
to_timestamp(to_number(statTime))

字符串相关

字符串包含判断 instr( )
-- like '%WLAN%'
instr('WLAN1DF', 'WLAN') > 0
分组后字段拼接 string_agg( )
string_agg(ipLocation,  ',')
聚合后分组,在对rtt1根据liu加权计算

【sum(rtt1 a * liu a) / sum(liu), a∈0, n】

select sum(x) / sum(liu) as rtt1, name, string_agg(ip, ',') as ip, min("user")
from (select rtt1, liu, name, rtt1 * liu as x, ip, "user" from (select 6 as rtt1, 10 as liu,'ha' as name,null as ip,'abc' as user  from dualunion all select 7 as rtt1, 15 as liu,'ha' as name,'127.0.0.1' as ip,'abc' as user from dualunion all select null as rtt1, 5 as liu,'ha' as name,'127.0.0.2' as ip,'abc' as user from dual)
) group by name

注意点

聚合情况下,不存在的列最好统一风格:null::float4 as gameHeartbeatDelay

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python自动化测试面试题精选(一)

今天大家介绍一些Python自动化测试中常见的面试题,涵盖了Python基础、测试框架、测试工具、测试方法等方面的内容,希望能够帮助你提升自己的水平和信心。 项目相关 什么项目适合做自动化测试? 答:一般来说,适合做自…

文档项目:攻坚克难

鉴于交流离心机存在的缺点:转速相对偏差、稳定精度不够高;带负载能力受外界扰动后,波动较大;寿命短,研究所各相关部门成立组成技术攻关团队,齐心协力,攻坚克难,在摸索中突破创新&…

坚持刷题|合并有序链表

文章目录 题目思考代码实现迭代递归 扩展实现k个有序链表合并方法一方法二 PriorityQueue基本操作Java示例注意事项 Hello,大家好,我是阿月。坚持刷题,老年痴呆追不上我,消失了一段时间,我又回来刷题啦,今天…

x86_64平台通过qemu-user-static 运行arm64的docker镜像

x86_64平台通过qemu-user-static 运行arm64的docker镜像 下载qemu-user-static(x86_64) 此步骤也不是必须的,但是可能碰到【exec /usr/bin/uname: no such file or directory】这样的错误,需要把qemu-aarch64-static手动mount到目…

【调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录】

调试笔记-系列文章目录 调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录 文章目录 调试笔记-系列文章目录调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录 前言一、调试环境操作系统&…

开源模型应用落地-Qwen2-7B-Instruct与vllm实现推理加速的正确姿势(十)

一、前言 目前,大语言模型已升级至Qwen2版本。无论是语言模型还是多模态模型,均在大规模多语言和多模态数据上进行预训练,并通过高质量数据进行后期微调以贴近人类偏好。在本篇学习中,将集成vllm实现模型推理加速,现在,我们赶紧跟上技术发展的脚步,去体验一下新版本模型…

大模型泡沫退去,谁能活到下半场?

前言 从今年3月开始,国内企业纷纷下场大模型,铆足劲秀肌肉,如今转向垂直行业淘金,试图争霸行业大模型。我们的心态也逐渐从看乐子,到严肃讨论。 在人工智能的世界,我们经历了众多的概念游戏,在…

Python — — GPU编程

Python — — GPU编程 要想将Python程序运行在GPU上,我们可以使用numba库或者使用cupy库来实现GPU编程。 壹、numba Numba 是一个开源的 JIT (Just-In-Time) 编译器,它可以将 Python 代码转换成机器代码以提高性能。Numba 特别适用于需要高性能计算的…

2021 hnust 湖科大 数据结构课堂实验代码及报告

2021 hnust 湖科大 数据结构课堂实验代码及报告 目录 实验1 线性表 1 实验2 栈的应用 4 实验3 队列的应用 9 实验4 串的应用 16 实验5 二叉树遍历 19 实验6 哈夫曼编码 23 实验7 图的遍历 27 实验8 最小生成树 32 实验9 最短路径 35 实验10 折半查找 37 实验11 插入排序与交换…

python实践笔记(三): 异常处理和文件操作

1. 写在前面 最近在重构之前的后端代码,借着这个机会又重新补充了关于python的一些知识, 学习到了一些高效编写代码的方法和心得,比如构建大项目来讲,要明确捕捉异常机制的重要性, 学会使用try...except..finally&…

2024年最新版------二进制安装部署Kubernetes(K8S)集群

Kubernetes二进制集群部署 文章目录 Kubernetes二进制集群部署资源列表基础环境一、环境准备1.1、绑定映射关系1.2、所有主机安装Docker1.3、所有主机设置iptables防火墙 二、生成通信加密证书2.1、master上成功CA证书2.2.1、创建证书存放位置并安装证书生成工具2.2.2、拷贝证书…

《Java2实用教程》 期末考试整理

作用域 当前类 当前包 子类 其他包 public √ √ √ √ protected √ √ √ default √ √ private √ 三、问答题(每小题4分,共8分) 1.类与对象的关系 对象:对象是类的一个实例,有状…

【实用工具】Skyworking

文章目录 一、Skywalking概述1.1 核心功能1.2 指标概述1.2.1 一些常用指标1.2.2 指标的使用方式 二、仪表盘2.1 APM2.1.1 全局维度的指标2.1.2 服务维度的指标2.1.3 实例维度的指标2.1.4 端点维度的指标 2.2 数据库2.3 其他 三、追踪3.1 界面划分3.2 请求链路界面分析3.3 一般流…

Diffusion 扩散模型(DDPM)

Diffusion 扩散模型(DDPM) 一、什么是扩散模型? 随着Stable Diffusion 3的问世,AI绘画再次成为最为火热的AI方向之一,那么不可避免地再次会问到Stable Diffusion里的这个”Diffusion”到底是什么?其实扩散…

typora下载安装、激活教程

目录 介绍 基本功能 使用教程 高级功能 下载安装 激活 关闭软件每次启动时的已激活弹窗 去除软件左下角“未激活”提示 介绍 Typora 是一款功能强大的 Markdown 编辑器,它以其简洁的界面设计和高效的文本编辑能力受到许多用户的青睐。Typora 的主要特点在于…

Socket编程模型

一、整体过程图解 二、Socket编程模型细节 客户端和服务器能在网络中通信,那必须得使用Socket编程,它是进程间通信里比较特别的方式,特别之处在于它是可以跨主机间通信。 创建Socket 的时候,可以指定网络层使用的是IPv4还是IPv6,传…

读《任正非文集》

《任正非文集》其实不是一本书,而是任正非在华为内容的讲话内容,有人把这些讲话内容集结成册,目前记录了从1994年到2018年间一共400多篇谈话。 感兴趣的可以在这里下载。 我是下载后导入到微信读书中听的,一共有100多万字。 我…

jvm必知必会-类的生命周期图文详解

类的生命周期描述了一个从加载、使用到卸载的过程; 而其中的 连接 部分又分为一下三个阶段: 验证准备解析6.1 加载阶段 Loading阶段第一步是 类加载器 会根据类全限定名通过不同的渠道以二进制流的方式获取字节码信息,程序员可以使用Java代码扩展不同的渠道。 比如通过 …

Linux桌面显示管理器X11和Wayland简介

一、X11的发展历程和优缺点 1. 发展历程 X11是X Window System的第11个版本,于1987年发布。它是Linux桌面环境的基础,设计初衷是为了满足跨平台、网络和硬件的图形界面需求。X11采用客户端-服务器模式,由X Server(xserver&#x…

LeetCode 算法:螺旋矩阵c++

原题链接🔗:螺旋矩阵 难度:中等⭐️⭐️ 题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&…