【赵渝强老师】openGauss的数据库

在OpenGauss中,数据库本身也是数据库对象。不同的数据库在逻辑上彼此分离,除数据库之外的其他数据库对象(例如:表、索引等等)都属于它们各自的数据库。通过下面的语句可以查看OpenGauss数据库服务器中已存在的数据库。

视频讲解如下
【赵渝强老师】openGauss的数据库

(1)登录OpenGauss。

powershell 复制代码
bin/gsql -d postgres

(2)查看OpenGauss中已有的数据库。

powershell 复制代码
openGauss=# \l

# 输出的信息如下:
                         List of databases
   Name    |  Owner   | Encoding |......
-----------+----------+----------+------
 finance   | postgres | UTF8     |......
 postgres  | postgres | UTF8     |......
 school    | postgres | UTF8     |......
 scott     | postgres | UTF8     |......
 template0 | postgres | UTF8     |......
 template1 | postgres | UTF8     |......
           |          |          |......
(6 rows)

其中:

  • 创建数据库时实际上通过拷贝一个已有数据库进行工作的。在默认情况下,将拷贝名为template1的标准系统数据库。所以该数据库是创建新数据库的"模板"。如果为template1数据库增加对象,这些对象将被拷贝到后续创建的用户数据库中。这种行为允许对数据库中标准对象集合的进行修改。例如,如果把过程语言PL/Perl安装到template1中,那么在创建用户数据库后不需要额外的操作就可以使用该语言。

  • 系统里还有名为template0的第二个标准系统数据库。这个数据库包含和template1初始内容一样的数据,但只包含openGauss版本预定义的标准对象。在数据库集群被初始化之后,不应该对template0做任何修改。在创建数据库时通过指示使用template0取代template1进行拷贝,可以创建一个"纯净的"用户数据库,它不会包含任何template1中的站点本地附加物。

创建openGauss数据库主要通过SQL命令"create database"完成,下面是具体的操作步骤。

(1)查询现有数据库的集合,可以检查系统目录pg_database。

powershell 复制代码
openGauss=# select datname from pg_database;

# 输出的信息如下:
  datname  
-----------
 template1
 school
 finance
 template0
 scott
 postgres
(6 rows)

(2)使用SQL命令"create databas"创建数据库。

powershell 复制代码
openGauss=# create database mydemodb;

这里需要注意以下几点:

  • 第一个数据库总是由initdb命令在初始化数据存储区域时创建的,这个数据库被称为postgres。因此要创建第一个"普通"数据库时,需要连接到openGauss数据库服务器上。

  • 在数据库集群初始化期间也会创建第二个数据库template1,。当在集群中创建一个新数据库时,实际上就是克隆了template1。这就意味着对template1所做的任何修改都会体现在所有后续创建的数据库中。因此应避免在template1中创建对象,除非想把它们传播到每一个新创建的数据库中。

  • 创建一个新的数据库,实际上是在$PDATA/base目录下创建了一个目录,如下图所示。

(3)重新查询现有数据库的集合。

powershell 复制代码
openGauss=# select oid,datname from pg_database;

# 输出的信息如下:
  oid  |  datname  
-------+-----------
     1 | template1
 16384 | school
 16420 | finance
 14809 | template0
 16470 | scott
 16525 | mydemodb
 14814 | postgres
(7 rows)
相关推荐
倔强的石头_5 小时前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab18 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence1 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神1 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据2 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡2 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧2 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon2 天前
SQL学习指南——视图
数据库·sql
活宝小娜2 天前
mysql详细安装教程
数据库·mysql·adb