opengauss常用命令
======库外操作======
--检查端口
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)配置客户端认证方式
下面示例中配置允许P地址为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
======库内操作======
--查询数据库用户
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 DATABASE_NAME;
--创建表及用户
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;


