1. gs_initdb简介
gs_initdb初始化数据库时,会创建数据库目录、生成系统表、创建默认数据库和模板数据库。
系统表
初始化数据库时会生成大量的系统表和视图,任何数据库用户都具备它们的查看权限。
说明: pg_user_status、pg_auth_history系统表权限只对初始化用户和sysadmin用户开放。
生成的数据库
- template1:是一个模板数据库,当以后再创建一个新的数据库时,template1数据库里的所有内容都会拷贝到新数据库中。通过gs_initdb的参数可以决定template1数据库的设置。
- template0:是GaussDB提供的最初始的备份数据库,当需要时可用template0作为模板生成“干净”的数据库。
- postgres:是一个提供给用户、工具和第三方应用的缺省数据库。
2. 使用指导
在安装时,推荐使用-D参数调用gs_initdb初始化数据库。如果由于故障恢复等原因,需要重新初始化一个数据库,可以通过执行gs_initdb来完成。
必要条件
- 尽管gs_initdb会尝试创建相应的数据目录,但可能没有权限执行此操作,因为要创建目录的父目录通常被root所拥有。如果要创建数据目录,首先用root用户创建一个空数据目录,然后用chown把该目录的所有权交给数据库用户。
- gs_initdb决定template1数据库的设置,而该设置将会成为其他数据库的默认设置。
- gs_initdb初始化数据库的缺省区域和字符集编码。字符集编码、字符编码排序(LC_COLLATE)和字符集类(LC_CTYPE,如大写、小写数字等)可以在创建数据库时独立设置。
3. 操作
-
以gaussdba用户身份登录数据库服务器。规划数据库目录。
-
切换到root用户,su - root根据提示输入用户名和密码。进入/opt/gaussdb目录,并创建data1目录。
cd /opt/gaussdb
- mkdir data1将data1目录的所有权分配给数据库用户gaussdba,dbgrp是gaussdba所属的用户组。
chown gaussdba:dbgrp data1
- 退出root用户。
exit
- 执行gs_initdb命令初始化数据库。
gs_initdb /opt/gaussdb/data1
说明:如果省略数据目录(执行gs_initdb),则会在环境变量GAUSSDATA表示的目录上初始化一个数据库。

本文详细介绍gs_initdb工具在GaussDB数据库初始化过程中的作用,包括创建数据库目录、生成系统表、设置权限及默认数据库等内容。同时,文章提供了gs_initdb的使用指导,包括参数说明、操作步骤和常见命令,帮助用户正确配置数据库环境。
最低0.47元/天 解锁文章
2890

被折叠的 条评论
为什么被折叠?



