暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第11天|openGauss逻辑结构:数据库管理

原创 shezhang784938 2022-12-04
382

数据库是数据库对象的容器,在数据库中,可以创建模式、表、索引等数据库对象。

openGauss数据库管理包括:创建数据库、删除数据库、重新命名数据库、查看数据库的信息。创建一个新的数据库。缺省情况下,新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。


  • 启动openGauss数据库

gs_om -t start



  • 登录数据库
未指定用户是谁?默认数据库登录。

gsql -d postgres -p 15400 -r



  • 创建表空间enmtbs

create tablespace enmtbs relative location 'tablespace/enmtbs1';



  • 创建数据库musicdb

create database musicdb with tablespace = enmtbs;


如果不知道是否有创建数据库musicdb,那么可以写成类似带判断条件的SQL语句:
  • 先删除数据库,再新创建数据库

drop database  if exists  musicdb;


  • 新建数据库musicdb,并且需要指定表空间;如果未指定表空间,那么数据库会被创建在默认的表空间;

create database musicdb with tablespace = enmtbs;



  • 查看数据库集簇中有哪些数据库

select datname from pg_database;


或者用下面的方式查看数据库集簇中有哪些数据库:

\l



  • 查看数据库默认的表空间信息

1)首先执行下面的语句,查看musicdb数据库默认表空间的对象oid

select datname,dattablespace from pg_database where datname='musicdb';


2)根据表空间对象的oid,来查看表空间的名字

select oid,spcname from pg_tablespace where oid=16389;


3)可以将上面的两条语句合并成一条语句,来查询数据库musicdb默认表空间的名字

select spcname 
from pg_tablespace 
where oid=( select dattablespace
           from pg_database
           where datname='musicdb' );



  • 查看数据库下有哪些模式

\dn+


select catalog_name, schema_name, schema_owner from information_schema.schemata;



  • 查询当前连接的数据库omm下有哪些表

with my_tables(table_catalog, table_schema, table_name, table_type) as
      (   select table_catalog, table_schema, table_name, table_type
          from information_schema.tables
         where table_schema not in ('pg_catalog', 'information_schema','dbe_perf')
       )
select * from my_tables;



  • 更改数据库默认的表空间

create tablespace app_ts  relative location 'tablespace/app_ts1';


alter database musicdb  set tablespace app_ts;


1)查看表空间是否更改完成

select spcname 
from pg_tablespace 
where oid=( select dattablespace
           from pg_database
           where datname='musicdb' );



  • 修改数据库的默认用户

create user user1  identified by 'enmoedu@1234';    ##创建用户user1
alter user user1  sysadmin;                         ##授权user1的权限是系统权限
alter database musicdb owner to user1;              ##修改数据库musicdb的拥有为user1


1)查看数据库

\l



  • 重新命名数据库

alter database musicdb rename to  musicdb1;


错误说明:数据库musicdb1已经存在。解决错误的思路:删除数据库musicdb1,从新创建。

1)删除数据库musicdb1

drop database musicdb1;


从下面的截图可以看出,数据库musicdb1已经被删除;

\l


2)再次重新命名数据库

alter database musicdb rename to  musicdb1;


\l        ##查看数据库


数据库musicdb已被修改为musicdb1,用户是user1。


  • 删除数据库

drop database musicdb1;



最后修改时间:2022-12-04 15:09:32
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论