opengauss常用命令
======库外操作======OUT======
--检查端口
netstat -anp | grep LISTEN | grep 端口
netstat -tuln | grep 端口
nmap -p 17700-17710 localhost
nmap -p 18800-18801 指定IP
telnet 指定IP 17705
--网卡下线脚本
##内容头
!/bin/bash
ifdown bond1
sleep 180
ifup bond1
##内容尾
赋权:chmod 775 file_name
执行:nohup sh file_name &
--设置数据库登录用户权限(pg_hba.conf)配置客户端认证方式
下面示例中配置允许IP地址为10.10.0.30的客户端以“jack”用户访问本机
gs_guc set -N all -I all -h "host all jack 10.10.0.30/32 sha256"
TYPE DATABASE USER ADDRESS METHOD
"local" is for Unix domain socket connections only
#表示只允许以安装时-U参数指定的用户从服务器本机进行连接。
local all all trust
IPv4 local connections:
#表示允许omm用户从10.10.0.50主机上连接到任意数据库,使用sha256算法对密码进行加密。
host all omm 10.10.0.50/32 sha256
#表示允许任何用户从10.10.0.0/24网段的主机上连接到任意数据库,使用sha256算法对密码进行加密,并且经过SSL加密传输。
hostssl all all 10.10.0.0/24 sha256
#表示允许任何用户从10.10.0.0/24网段的主机上连接到任意数据库,使用Kerberos认证方式,当前版本暂不支持客户端kerberos认证。
host all all 10.10.0.0/24 gss include_realm=1 krb_realm=HADOOP.COM
--登录数据库
gsql -d db_name -p 数据库主节点端口号
gsql -h <IP 地址> -p <端口号> -d <数据库名> -U <用户名>
--读主库参数
gsql -d postgres -p 17700 -c "show synchronous_standby_names"
gsql -d postgres -p 17700 -c "show listen_addresses"
--读备库参数
gsql -d postgres -p 17700 -c "show synchronous_standby_names"
--查看集群状态
gs_om -t status --detail
gs_ctl -t status --detail
--查看集群vip节点
ip a|grep -i 10.*
--逻辑导出
gs_dumpall -f /database/backup/backup_all_20240428.sql -p 17700
--集群重启
cm_ctl stop && cm_ctl start
--备库节点1-switchover切换为主数据节点-切库
cm_ctl switchover -n 1 -D /database/panweidb/data
--关闭集群指定节点Down
cm_ctl stop -n 1 -D /database/panweidb/data
#需要变为主库的节点执行
#主备切换
gs_ctl switchover -D /database/panweidb/data --主备切换
gs_om -t status --detail
gs_om -t refreshconf
cm_ctl set --cmsPromoteMode=PRIMARY_F -I 1 --更新默认信息为1节点
切库后查看集群状态及vip节点
--主备节点切换为正常状态
cm_ctl switchover -n 1 -D /database/panweidb/data
切库后查看集群状态及vip节点
--查看数据库参数
cm_ctl list --param --server | grep enable_transaction_read_only
cm_ctl list --param --server | grep datastorage_threshold_value_check
--集群参数在线修改
gs_guc reload -Z cmserver -N all -I all -c "datastorage_threshold_value_check=90"
--查看业务中断时长
gsql -U test_ha -d postgres -h 10.xx.xx.5 -p 17700 -c "select * from test_ha.test_ha order by 1 desc limit 500;"
--初始化数据库 DB
pw_initdb -D /home/panweidb/data/panweidb --nodename panweidb - w panwei@123 --dbcompatibility=A
pw_initdb -D db_path/data/db_name --nodename node_name - w password --dbcompatibility=A
#dbcompatibility=A 为DB的兼容模式 取值范围:A、B、C、PG。分别表示兼容O、MY、TD和POSTGRES
--查看用户计划任务
crontab -l
--编辑用户计划任务
crontab -e
======库内操作======IN======
-查询数据库用户
SELECT rolname FROM pg_roles;
-更改用户密码有效期
ALTER USER USER_NAME WITH VALID BEGIN '2016-11-10 08:00:00' VALID UNTIL '2017-11-10 08:00:00';
--更改用户截止日期
ALTER USER USER_NAME WITH VALID UNTIL '2999-11-10 08:00:00';
ALTER USER WITH VALID UNTIL '2999-11-10 08:00:00';
--查询慢SQL
SELECT activity.*, stats.* FROM pg_stat_activity AS activity
JOIN pg_stat_statements AS stats ON activity.queryid = stats.queryid
WHERE activity.state = 'active' AND activity.query_start < NOW() - INTERVAL '5 minutes' AND stats.total_time > 1000;
--查询正在执行的慢SQL
SELECT pid,query,query_id, usename, application_name, client_addr, state, query_start, now() - query_start AS query_duration
FROM pg_stat_activity
WHERE state = 'active' AND now() - query_start > INTERVAL '1 minute'
ORDER BY query_duration DESC;
--关闭慢SQL
SELECT pg_terminate_backend(<pid>);
--复制槽检查逻辑通道
select * from pg_create_logical_replication_slot('mdb_202405301556533_slot','wal2json');
--设置大小写不敏感
set lower_case_table_names = 1 ;
--授权用户SCHEMA中的ALL权限
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
--查询用户在schema中的权限
SELECT grantee, privilege_type
FROM information_schema.role_table_grants
WHERE table_schema = 'SCHEMA_NAME'
AND grantee = 'USER_NAME' GROUP BY grantee, privilege_type;
--回收用户在SCHEMA的权限
REVOKE truncate ON ALL TABLES IN SCHEMA SCHEMA_NAME FROM USER_NAME;
--授权用户z在库中的权限
GRANT CREATE ON SCHEMA SCHEMA_NAME TO USER_NAME;
GRANT CREATE ON DATABASE DATABASE_NAME TO USER_NAME;
--查询当前连接数:
SELECT count(*) AS num_connections FROM pg_stat_activity;
--查询数据库大小:
SELECT pg_size_pretty(pg_database_size(current_database())) AS database_size;
--查询表空间使用情况:
SELECT
spcname AS tablespace_name,
pg_size_pretty(pg_tablespace_size(spcname)) AS space_used
FROM pg_tablespace;
--查看数据库备节点同异配置
select * from pg_stat_replication;
--创建database
CREATE DATABASE testdb2 OWNER db_user;
#使用模板创建database
create database db_name owner db_user TEMPLATE temp_name;
#查看数据库列表
\l+
#修改数据库名
ALTER DATABASE testdb1 RENAME TO testdb3;
#删除数据库
DROP DATABASE testdb3;
--创建表及用户
create user user_name password 'Test@1234' with sysadmin; --同时赋权超级管理员
create table test_ha.test_ha (instr_time timestamp); --创建表并指定用户
create database db_name owner user_name; --创建库并指定所有者
--元命令帮助(库内)
panweidb=# \?
#列举表
\dt
#查看表结构
\d table_name
#列举 schema
\dn
#查看索引
\di
#切换数据库(切库)
\c db_name
--查看数据库运行参数当前取值
SHOW max_connections; #查看指定参数
SELECT * FROM pg_settings WHERE NAME='max_connections'; #查看指定参数
SELECT * FROM pg_settings; #列举所有参数
SHOW all; #列举所有参数
--赋权
GRANT SELECT ON ALL TABLES IN SCHEMA scf_manage_uat_db001 TO bigetlview;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA scf_manage_uat_db001 TO bigetlview; --表权限
GRANT USAGE ON SCHEMA scf_manage_uat_db001 TO bigetlview; --使用schema权限
GRANT REPLICATION TO bigetlview;
GRANT gs_role_replication TO bigetlview;
GRANT ALL PRIVILEGES ON DATABASE scf_manage_uat_db001 TO bigetlview; --库权限
GRANT ALL PRIVILEGES TO bigetlview; --所有权限
ALTER USER bigetlview SYSADMIN; --超级管理员权限
--解除只读
alter system set default_transaction_read_only=off;
default_transaction_read_only
--查看只读
SHOW transaction_read_only;