opengauss常用命令

撒谎信2024-06-04经验总结1500

======库外操作======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;


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。