Tyson

天道唯一 大道至简

1. 有效连接用户数

1
2
SELECT count(*) AS num_connections
FROM pg_stat_activity;

2. 执行时间最长的SQL

1
2
3
4
5
6
-- postgres13
SELECT queryid, query, (total_exec_time / 1000) AS total_time_ms
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 5;

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
select w1.pid as 等待进程,
w1.mode as 等待锁模式,
w2.usename as 等待用户,
w2.query as 等待会话,
b1.pid as 锁的进程,
b1.mode 锁的锁模式,
b2.usename as 锁的用户,
b2.query as 锁的会话,
b2.application_name 锁的应用,
b2.client_addr 锁的IP地址,
b2.query_start 锁的语句执行时间
from pg_locks w1
join pg_stat_activity w2 on w1.pid=w2.pid
join pg_locks b1 on w1.transactionid=b1.transactionid and w1.pid!=b1.pid
join pg_stat_activity b2 on b1.pid=b2.pid
where not w1.granted;

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid='XXX';
SELECT pg_terminate_backend(PID);
SELECT pg_terminate_backend(6289);
阅读全文 »

数据库大小查询

1. 查询数据库整体大小

1
select pg_size_pretty(pg_database_size('database_name'));

2. 查询数据库单表大小

查所有表

阅读全文 »

查看当前表被那些表引用

1
2
3
4
5
6
7
SELECT oid, relname FROM pg_class WHERE relname = 'account_analytic_account';
SELECT * FROM pg_CONSTRAINT WHERE confrelid = (SELECT oid FROM pg_class WHERE relname = 'account_analytic_account');

SELECT oid, relname FROM pg_class WHERE oid in
(
SELECT conrelid FROM pg_CONSTRAINT WHERE confrelid = (SELECT oid FROM pg_class WHERE relname = 'account_analytic_account')
);
阅读全文 »

解决in效率问题

1. regexp_split_to_table

将数组转变成一张单字段临时表

1
2
3
4
5
6
7
8
-- 获取数组
select array_agg(code) from dy_fin_account_period;

-- 数组转字符串
select array_to_string(array_agg(code),',') from dy_fin_account_period

-- 数组转表(注意:array_to_string(array_agg(code),',') 可以替换成逗号隔开的字符串,注意字符串中间不能出现【空格】)
select regexp_split_to_table(array_to_string(array_agg(code),','),',') as p_code from dy_fin_account_period
阅读全文 »

Zabbix

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
dnf clean all
dnf module switch-to php:7.4
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

su - postgres
createuser -p 15434 --pwprompt zabbix
createdb -O zabbix zabbix


yum install zabbix-server-mysql zabbix-agent -y
#yum install centos-release-scl -y


setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

阅读全文 »

YUM换源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
yum install -y psmisc traceroute net-tools vim wget
cd /etc/yum.repos.d/ && mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo

yum clean all
yum makecache
yum update -y
yum upgrade -y

yum install ntp -y # 安装 ntp
ntpdate ntp3.aliyun.com # 同步时间,这里以阿里云3号服务器为例,你可以根据需要选择其他服务器
mv /etc/localtime /etc/localtime.bak --默认EDT时间
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime --切换CST中国上海时间
date
阅读全文 »

[TOC]

第一周

1. PostgreSQL成熟度解读

基本上就是讲了一下PostgreSQL的历史由来。

阅读全文 »

一、移动光标

  • h j k l 上 下 左 右
  • ctrl-y 上移一行
  • ctrl-e 下移一行
  • ctrl-u 上翻半页(up)
  • ctrl-d 下翻半页(down)
  • ctrl-f 上翻一页(forward)
  • ctrl-b 下翻一页(backward)
阅读全文 »
0%