关键词:
openGauss数据库常用操作命令(超详细)
1. 以操作系统用户omm登录数据库主节点
su - omm
1.1 启动服务
分布式openGauss:
gs_om -t start 启动服务
gs_om -t restart 重启服务
集中式openGauss:
gs_om -t stop 关闭服务
gs_om -t start 启动服务
1.2 使用“gs_om -t status –detail”命令查询openGauss各实例状态情况。
gs_om -t status --detail
- 如下部署了集中式openGauss集群,数据库主节点实例的服务器IP地址为172.20.73.178
- 数据库主节点数据路径为/opt/gaussdb/master1/
- 集中式没有CN,通过主DN访问
[omm@openGauss01 ~]$ gs_om -t status --detail
[ CMServer State ]
node node_ip instance state
---------------------------------------------------------------------------
2 openGauss02 172.20.73.179 1 /opt/gaussdb/cmserver/cm_server Standby
3 openGauss03 172.20.74.210 2 /opt/gaussdb/cmserver/cm_server Primary
[ ETCD State ]
node node_ip instance state
---------------------------------------------------------------------------
1 openGauss01 172.20.73.178 7001 /opt/huawei/xuanyuan/etcd StateFollower
2 openGauss02 172.20.73.179 7002 /opt/huawei/xuanyuan/etcd StateLeader
3 openGauss03 172.20.74.210 7003 /opt/huawei/xuanyuan/etcd StateFollower
[ Cluster State ]
cluster_state : Normal
redistributing : No
balanced : Yes
current_az : AZ_ALL
[ Datanode State ]
node node_ip instance state | node node_ip instance state | node node_ip instance state
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 openGauss01 172.20.73.178 6001 /opt/gaussdb/master1 P Primary Normal | 2 openGauss02 172.20.73.179 6002 /opt/gaussdb/slave1_1 S Standby Normal | 3 openGauss03 172.20.74.210 6003 /opt/gaussdb/slave1_2 S Standby Normal
[omm@openGauss01 ~]$
1.3 检查数据库性能
gs_checkperf
1. 以简要格式在屏幕上显示性能统计结果。
gs_checkperf -i pmk -U omm
2. 以详细格式在屏幕上显示性能统计结果。
gs_checkperf -i pmk -U omm --detai
1.4 确认数据库主节点的端口号
在1.2查到的数据库主节点数据路径下的postgresql.conf文件中查看端口号信息。示例如下:
cat /opt/gaussdb/master1/postgresql.conf |grep port
[omm@openGauss01 ~]$ cat /opt/gaussdb/master1/postgresql.conf |grep port
port = '36000' # (change requires restart)
#ssl_renegotiation_limit = 0 # amount of data between renegotiations, no longer supported
# supported by the operating system:
- 36000为数据库主节点的端口号
- 端口号在安装数据库时,会在xml文件中配置,查看安装时的xml配置文件也可以找到端口。
1.5列出所有可用的数据库
gsql -d postgres -p 36000 -l
[omm@openGauss01 ~]$ gsql -d postgres -p 36000 -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+-----------+---------+-------+-------------------
db1 | song | SQL_ASCII | C | C |
db2 | song | SQL_ASCII | C | C |
kwdb | kw | SQL_ASCII | C | C |
mydb | song | GBK | C | C |
postgres | omm | SQL_ASCII | C | C |
song_suse | song | SQL_ASCII | C | C |
template0 | omm | SQL_ASCII | C | C | =c/omm +
| | | | | omm=CTc/omm
template1 | omm | SQL_ASCII | C | C | =c/omm +
| | | | | omm=CTc/omm
(8 rows)
其中,postgres为openGauss安装完成后默认生成的数据库。初始可以连接到此数据库进行新数据库的创建。
2. 查看数据库对象
1. 登陆默认数据库postgres:
gsql -d postgres -p 36000
[omm@openGauss01 ~]$ gsql -d postgres -p 36000
gsql ((GaussDB Kernel V500R002C00 build fab4f5ea) compiled at 2021-10-24 11:58:09 commit 3086 last mr 6592 release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=#
2. 登陆自建数据库song_suse:
gsql -d 数据库名 -p 36000 -U 用户名 -W 密码 -r
[omm@openGauss01 ~]$ gsql -d song_suse -p 36000 -U song -W ****** -r
gsql ((GaussDB Kernel V500R002C00 build fab4f5ea) compiled at 2021-10-24 11:58:09 commit 3086 last mr 6592 release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
song_suse=>
1)查看帮助信息:
postgres=# \\?
2)切换数据库:
postgres=# \\c dbname
3)列举数据库:
使用\\l元命令查看数据库系统的数据库列表。
postgres=# \\l
使用如下命令通过系统表pg_database查询数据库列表。
postgres=# select dataname from pg_database;
4)列举表:
postgres=# \\dt
postgres=# \\d
5)列举所有表、视图和索引:
postgres=# \\d+
6)使用gsql的\\d+命令查询表的属性:
postgres=# \\d+ tablename
7)查看表结构:
postgres=# \\d tablename
8)列举schema:
postgres=# \\dn
9)查看索引:
postgres=# \\di
10)查询表空间:
使用gsql程序的元命令查询表空间。postgres=# \\db
检查pg_tablespace系统表。如下命令可查到系统和用户定义的全部表空间。
postgres=# select spcname from pg_tablespace;
11)查看数据库用户列表:
postgres=# select * from pg_user;
12)要查看用户属性:
postgres=# select * from pg_authid;
13)查看所有角色:
postgres=# select * from PG_ROLES;
14)切换用户:
postgres=# \\c – username
15)退出数据库:
postgres=# \\q
3. 常用SQL语言:
1)创建数据库用户
create user 用户名 with password "密码";
create user jack password "******";
在每次创建新用户时,系统会在当前登录的数据库中为新用户创建一个同名Schema。对于其他数据库,若需要同名Schema,则需要用户手动创建。
openGauss=# create user jack password "******";
CREATE ROLE
openGauss=# \\du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------------------------------------------------------------+-----------
jack | |
kw | |
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT |
song | Create role, Sysadmin |
2)删除数据库用户
drop user 用户名 cascade;
drop user jack cascade;
3)创建数据库,并指定所有者owner
create database 数据库名 owner 用户名;
create database jack_test owner jack;
4)为用户授权
给用户授权对某数据库的所有权限
grant all privileges on database jack_test to jack;
为用户追加有创建角色的CREATEROLE权限
alter user jack createrole;
将sysadmin权限授权给用户joe
grant all privileges to jack;
openGauss=# create database jack_test owner jack;
CREATE DATABASE
openGauss=# \\l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+-----------+---------+-------+-------------------
db1 | song | SQL_ASCII | C | C |
db2 | song | SQL_ASCII | C | C |
jack_test | jack | SQL_ASCII | C | C |
kwdb | kw | SQL_ASCII | C | C |
mydb | song | GBK | C | C |
postgres | omm | SQL_ASCII | C | C |
song_suse | song | SQL_ASCII | C | C | =Tc/song +
| | | | | song=CTc/song +
| | | | | song=APm/song
template0 | omm | SQL_ASCII | C | C | =c/omm +
| | | | | omm=CTc/omm
template1 | omm | SQL_ASCII | C | C | =c/omm +
| | | | | omm=CTc/omm
(9 rows)
openGauss=# grant all privileges on database jack_test to jack;
GRANT
openGauss=# alter user jack createrole;
ALTER ROLE
openGauss=# grant all privileges to jack;
ALTER ROLE
openGauss=# \\du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------------------------------------------------------------+-----------
jack | Create role, Sysadmin |
kw | |
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT |
song | Create role, Sysadmin |
openGauss=#
5)删除数据库
drop database 数据库名;
drop database jack_test;
6)创建schema(模式,默认为public)
1. 切换到jack_test数据库:
openGauss=# \\c jack_test
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "jack_test" as user "omm".
2. 切换到jack用户
jack_test=# \\c - jack
Password for user jack:
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "jack_test" as user "jack".
3. 查看schema
jack_test=> \\dn
List of schemas
Name | Owner
----------------------+-------
blockchain | omm
cstore | omm
db4ai | omm
dbe_application_info | omm
dbe_file | omm
dbe_lob | omm
dbe_match | omm
dbe_output | omm
dbe_perf | omm
dbe_pldebugger | omm
dbe_pldeveloper | omm
dbe_random | omm
dbe_raw | omm
dbe_scheduler | omm
dbe_session | omm
dbe_sql | omm
dbe_task | omm
dbe_utility | omm
pkg_service | omm
pkg_util | omm
public | omm
snapshot | omm
sqladvisor | omm
sys | omm
(24 rows)
jack_test=>
4. 查看当前用户:
select * from current_user;
select user;
jack_test=> select * from current_user;
current_user
--------------
jack
(1 row)
jack_test=> select user;
current_user
--------------
jack
(1 row)
jack_test=>
5. 为用户jack创建一个模式jack1
create schema 模式名 authorization 用户名;
create schema jack1 authorization jack;
jack_test=> create schema jack1 authorization jack;
CREATE SCHEMA
jack_test=> \\dn
List of schemas
Name | Owner
----------------------+-------
blockchain | omm
cstore | omm
db4ai | omm
dbe_application_info | omm
dbe_file | omm
dbe_lob | omm
dbe_match | omm
dbe_output | omm
dbe_perf | omm
dbe_pldebugger | omm
dbe_pldeveloper | omm
dbe_random | omm
dbe_raw | omm
dbe_scheduler | omm
dbe_session | omm
dbe_sql | omm
dbe_task | omm
dbe_utility | omm
jack1 | jack
pkg_service | omm
pkg_util | omm
public | omm
snapshot | omm
sqladvisor | omm
sys | omm
(25 rows)
jack_test=>
6. 修改schema名称
alter schema jack1 rename to jack2;
7. 要更改当前会话的默认Schema,请使用SET命令。
执行如下命令将搜索路径设置为myschema、public,首先搜索myschema。
set search_path to jack2;
查看当前schema
show search_path;
jack_test=> set search_path to jack2;
SET
jack_test=> show search_path;
search_path
-------------
jack2
(1 row)
jack_test=>
7)授权
grant usage on schema jack2 to jack;
回收(revoke)
将Schema中的表或者视图对象授权给其他用户或角色时,需要将表或视图所属Schema的USAGE权限同时授予该用户或角色。否则用户或角色将只能看到这些对象的名称,并不能实际进行对象访问。
8)数据库重新命名
alter database jack_test rename to jack_db;
9)命令查看当前数据库存储编码
show server_encoding;
10)查询表分布列(分布式openGauss才有,集中式没有):
select getdistributekey ('schemaName.tableName');
select getdistributekey ('tableName');
11)修改omm管理员密码
openGauss数据库登陆如果提示omm密码过期,需要修改omm管理员密码,例如:
alter role omm identified by '新密码' replace '旧密码';
opengauss主备流程与参数的详细介绍(代码片段)
一、openGauss主备介绍openGauss的主备架构、如何修改事务提交方式(同步、异步)、解释了主备日志复制的相关GUC参数、以及对openGauss3.0新添加的CM工具进行了介绍。注意点:opengauss是支持单机和一主多备部署方式。(不... 查看详情
opengauss主备流程与参数的详细介绍(代码片段)
一、openGauss主备介绍openGauss的主备架构、如何修改事务提交方式(同步、异步)、解释了主备日志复制的相关GUC参数、以及对openGauss3.0新添加的CM工具进行了介绍。注意点:opengauss是支持单机和一主多备部署方式。(不... 查看详情
mysql基本使用----超详细教学(代码片段)
...客1.RDBMS(RelationalDatabasesManagementSystem)目前主流数据库两种类型:关系型数据库,非关系型数据库mysql网页关系型数据库mongodb非关系型数据库结构 查看详情
数据结构链表操作的实现(超详细)(代码片段)
#include<iostream>usingnamespacestd;typedefstructNode intdate; structNode*next;Node;//初始化voidListInit(Node*ps) ps=(Node*)malloc(sizeof(Node)); ps->next=NULL; if(ps==NULL) 查看详情
opengauss数据库源码解析系列文章——存储引擎源码解析(代码片段)
...aceUpdate更新模式,中文意思为:原地更新,是openGauss内核新增的一种存储模式。openGauss内核 查看详情
opengauss数据库源码解析系列文章——存储引擎源码解析(代码片段)
...储引擎,针对众核和大内存服务器进行了优化。MOT是openGauss数据库的一个先进特性& 查看详情
opengauss数据库源码解析系列文章——存储引擎源码解析(代码片段)
...绍。4.2.5行存储索引机制本节以B-Tree索引为例,介绍openGauss中行存储(格式)表的索引机制。索引本质上是对数据的一种物理有序聚簇。有序聚簇参考的排序字段被称 查看详情
猿创征文|使用docker部署opengauss国产数据库(代码片段)
猿创征文|使用Docker部署openGauss国产数据库一、openGauss介绍1.openGauss简介2.openGauss产品定位3.支持的架构和操作系统版本二、检查宿主机环境1.检查系统版本2.检查Docker状态三、下载openGauss镜像1.进入docker官方镜像仓库2.openGauss镜像介... 查看详情
opengauss运维操作命令及其相关介绍(代码片段)
目录一、前言 二、常用运维相关命令1、第一组:openGauss启停2、第二组:openGauss状态查询3、第三组:openGauss实例主备切换4、第四组:openGauss备份与还原(数据导出/导入)5、第五组:openGauss常用gsql... 查看详情
(超详细)算法学习:stl和基本数据结构(代码片段)
STL容器vector栈队列链表setmapsort函数next_permulation函数容器1.顺序式容器:vector,list,deque,queue,priority_queue,stack等;2.关联式容器:set,multiset,map,multimap等vectorvector容器能存放任何类型的 查看详情
c++中的stl(超详细的操作)(代码片段)
vectorvector构造函数vector赋值操作vector容器和大小vector插入和删除vector数据存取vector互换容器vector预留空间stringstring构造函数string赋值操作string字符串的拼接string查找和替换rfind从右向左查,find从左向右查string字符串比较主要... 查看详情
开源数据库|记一次基于鲲鹏欧拉操作系统opengauss实践过程(代码片段)
引入 | 鲲鹏认证-openEuler欧拉操作系统-openGauss数据库 开篇:写在前面的话,每一篇摘文都以实际案例场景出发,周末抽空余时间记录每一次mark历程,在不一样的业务实际场景下,针对项目阶段所产生的变化&... 查看详情
开源数据库|记一次基于鲲鹏欧拉操作系统opengauss实践过程(代码片段)
引入 | 鲲鹏认证-openEuler欧拉操作系统-openGauss数据库 开篇:写在前面的话,每一篇摘文都以实际案例场景出发,周末抽空余时间记录每一次mark历程,在不一样的业务实际场景下,针对项目阶段所产生的变化&... 查看详情
超详细一文详解pandas核心操作技巧(代码片段)
大家好,今天给大家分享最常用到pandas做数据处理和分析,特意总结了以下常用内容。喜欢本文记得收藏、点赞、关注。推荐文章李宏毅《机器学习》国语课程(2022)来了有人把吴恩达老师的机器学习和深度学习做成了中... 查看详情
python实现——处理excel表格(超详细)(代码片段)
目录xls和xlsx基本操作1:用openpyxl模块打开Excel文档,查看所有sheet表2.1:通过sheet名称获取表格2.2:获取活动表3.1:获取表格的尺寸4.1:获取单元格中的数据4.2:获取单元格的行、列、坐标5:获取区... 查看详情
基于pytorch实现图片去模糊降噪,超详细,有代码,数据,可直接运行。
教大家一下,图片去模糊降噪的基本方法和完整的实验流程。目录简介:环境配置 参数设置数据显示 查看详情
猿创征文|国产数据库之opengauss的单机主备部署及快速入门(代码片段)
猿创征文|国产数据库之openGauss的单机主备部署及快速入门一、openGauss介绍1.openGauss简介2.openGauss特点3.openGauss的逻辑架构图二、环境检查1.节点规划2.操作系统版本三、安装前环境配置1.检查admin普通用户2.给安装目录授权3.配置/etc/... 查看详情
史上最全mysql总结mysql超详细笔记(代码片段)
...目录【史上最全MYSQL总结】MySQL超详细笔记1、写在前面2、数据库的引入2.1、数据库是个啥?2.2数据库的分类3、数据库管理系统常见的数据库管理系统4、MySQL4.1、访问与下载4.2、安装时的注意事项4.3、MySQL的目录结构4.4、MySQL... 查看详情