Gauss200使用分享

登录、授权控制

解锁账户

su - omm
gsql -d db_rdb -p 8000 -r


alter 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.conf

host    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 void
    LANGUAGE plpgsql
    NOT FENCED SHIPPABLE
AS
$$
DECLARE
    current_ip1 varchar(50);
begin
    select (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_pl
    with 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 ip6
                 from sig_qry_rpt.pl_data
                 where id != sample_id
                 order by id)
    SELECT videosite,
           videositeid,
           stat_time
    from sig_qry_rpt.t310_video_detail_mi_pl t
             cross join tmp a
    where t.export_time = current_export_time
      and 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 dual
        union all 
        select 7 as rtt1, 15 as liu,'ha' as name,'127.0.0.1' as ip,'abc' as user from dual
        union 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.mfbz.cn/a/717550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

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

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

小区噪音监测管理系统设计

一、引言 随着城市化进程的加快,小区居民对于居住环境的要求日益提高。其中,噪音污染已成为影响居民生活质量的重要因素。因此,设计一套小区噪音监测管理系统,对于提升居民的生活品质和小区管理效率具有重要意义。本文将详细阐述…

如何拥有自己的微信小程序

如何拥有自己的微信小程序 ~~话先放在这里~~ 写在前面申请一个属于自己的小程序先去[微信开放平台](https://open.weixin.qq.com/home)申请一个你的小程序扫码申请新小程序小程序该记好的个人信息 安装微信开发者工具下载工具关联你的小程序请求域名配置发布小程序 BUY一个自己…

SQL:按用户名复制权限

生产系统中有一个模块是管理用户及菜单权限,它们是由3个数据表组成,关系及字段如下: 原来为每个用户添加菜单的访问权限时都是一个一个添加,但今天遇到有个新来的员工,需要具有与另一个员工相同的权限。新建一个用户后…

PS插件创成式填充功能全面测评:轻松实现AI修图新高度

大家好,我是你们的AIGC测评博主。今天,我将为大家带来一款ps插件创成式填充功能——深度体验 在图像处理领域,AI技术的应用已经越来越广泛。而创成式填充功能,无疑是其中的佼佼者。它利用AI技术,能够根据用户输入的关…

c语言——c51单片机——数码管

数码管: #include "reg51.h"void delay(unsigned int n) {while (n)--n; }void main(void) { //unsigned char num[] {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71, 0x00};unsigned int i 0…

坚持刷题|合并有序链表

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

雪花算法和UUID

目录 雪花算法概念优点和不足优点:缺点:解决方案代码示例 UUID优点与不足优点不足 两种算法的比较应用场景区别 雪花算法 概念 雪花算法是一个分布式id生成算法,它生成的id一般情况下具有唯一性。由64位01数字组成,第一位是符号位,始终为0。…

【leetcode刷题】面试经典150题 , 27. 移除元素

leetcode刷题 面试经典150 27. 移除元素 难度:简单 文章目录 一、题目内容二、自己实现代码2.1 方法一:直接硬找2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 2.2 方法二:排序整体删除再补充2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 三、…

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

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

shell编程——脚本入门

在编写脚本的时候指定解析器 在编写shell脚本时第一行以#!/bin/bash开头指定解析器。 在shell脚本中使用echo语句来在屏幕中打印内容。 调用shell脚本的第一种方式 在shell脚本中以bash或者是sh脚本路径的方式来启动脚本。这种执行脚本的方式是在Linux操作系统的b…

【C++高阶】掌握C++多态:探索代码的动态之美

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:C继承 🌹🌹期待您的关注 🌹🌹 ❀继承 📒1. 多态的定义及实现&…

【总线】AXI总线:FPGA设计中的通信骨干

目录 AXI4:高性能地址映射通信的基石 AXI4-Lite:轻量级但功能强大的通信接口 AXI4-Stream:高速流数据传输的利器 结语:AXI总线在FPGA设计中的重要性 大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计…

Go 并发控制:RWMutex 实战指南

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

怎么管理网站的数据

每一个网站都会有很多的数据,这些数据的来源,有一些是直接把数据存放在运行文件里面,有一些则是存放在数据库里面,如MySQL、SQL Server等等,这些数据库都是需要安装指定的数据库环境才能运行起来,数据库的存…

减肥药实质利好服装业:身材好了,更时尚了 1-5月份,新建商品房销售面积同比下降20.3%

减肥药实质利好服装业:身材好了,更时尚了 减肥成功的顾客纷纷瞄准性感look,不但促进了销售,还给服装品牌节省了成本,因为小尺寸的衣服使用的面料更少。大码女装,可能是下一个被 GLP-1减肥神药杀死的行业。…

【计算机毕业设计】234基于微信小程序的中国各地美食推荐平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

小知识点快速总结:梯度爆炸和梯度消失的原理和解决方法

本系列文章只做简要总结,不详细说明原理和公式。 目录 1. 参考文章2. 反向梯度求导推导3. 具体分析3.1 梯度消失的原理3.2 梯度爆炸的原理 4. 解决方法 1. 参考文章 [1] shine-lee, "网络权重初始化方法总结(上):梯度消失、…

Elixir学习笔记——速构(函数式编程基础)

在 Elixir 中,循环遍历 Enumerable 是很常见的,通常会过滤掉一些结果并将值映射到另一个列表中。 速构是此类构造的语法糖:它们将这些常见任务分组为 for 特殊形式。 例如,我们可以将一串整数映射到它们的平方值: 速构…

VSCode的maven插件配置问题

最近尝试使用VSCode开发java后台项目,发现安装了java开发套件的插件 配置了开发环境之后,maven下载的依赖包始终位于~/.m2/repository目录之后,放在了默认的C盘,这就是我最不喜欢的位置。 为了保证C的小,所以需要修改…