openGauss这么多工具?到底要选哪个?(361)

25 阅读3分钟

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/

命令参考

gs_initdb支持的常用参数和不常用参数请分别参见表 1表 2

表 1 常用参数说明

参数

参数说明

取值范围

-A, --auth=METHOD

指定本地用户连接数据库时的认证方法,即“pg_hba.conf”配置文件中host和local所在行的认证方法。

除非用户对本地用户都是信任的,否则不要使用默认值trust。

须知:

若取值为md5,则需手动修改参数文件 postgresql.conf.sample 中的密码存储类型 password_encryption_type 参数的值,修改为0,且放开注释使之生效。gs_initdb工具需同时配合 -W 的使用。

METHOD的取值:

  • trust
  • reject
  • md5(不安全的算法,为了兼容老版本而存在)
  • sha256
  • sm3

默认值:trust

--auth-host=METHOD

指定本地用户通过TCP/IP连接数据库时的认证方法,即:“pg_hba.conf”配置文件中host所在行的认证方法。

指定此参数则会覆盖-A参数的值。

METHOD的取值:

  • trust
  • reject
  • md5(不安全的算法,为了兼容老版本而存在)
  • sha256
  • sm3

默认值:trust

--auth-local=METHOD

指定本地用户通过Unix域套接字连接数据库时的认证方法,即“pg_hba.conf”配置文件中local所在行的认证方法。

指定此参数则会覆盖-A参数的值。

METHOD的取值:

  • trust
  • reject
  • md5(不安全的算法,为了兼容老版本而存在)
  • sha256
  • sm3
  • peer(仅用于local模式)

默认值:trust

-c, --enable-dcf

设置安装的节点为DCF模式

-

[-D, --pgdata=]DATADIR

指定数据目录的位置。

DATADIR的取值:用户自定义。不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

--nodename=NODENAME

初始化的节点名称。

节点的命名需要遵守如下规范:

  • 节点名称必须为小写字母(a-z)、下划线(_)、特殊符号#、数字(0-9)。
  • 节点名称必须以小写字母(a-z)或下划线(_)开头。
  • 节点名称不能为空,且最大的长度为64个字符 。

-E, --encoding=ENCODING

为新数据库设置编码格式。

  • 如果使用此参数,需要加上--locale选项指定支持此编码格式的区域。如果不加--locale选项,则采用系统默认的区域,如果系统默认区域的编码格式和用此参数指定的编码格式不匹配则会导致数据库初始化失败。

  • 如果不指定此参数,则使用系统默认区域的编码格式。系统默认区域和编码格式可以使用locale命令查看,如下:

    omm@linux:~> locale|grep LC_CTYPE
    LC_CTYPE="en_US.UTF-8"
    

    其中UTF-8表示系统默认区域的编码格式。

  • 不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

--locale=LOCALE

为新数据库设置缺省的区域。可以用locale -a查看可用的区域,如zh_CN.gbk等。如果不希望指定特定的区域,则可以用C。

须知:

  • 如果用户设置了数据库的编码格式,则用户选择区域的编码格式必须与用户设置的编码格式一致,否则数据库初始化会失败。
  • 当指定了数据库的编码格式为GB18030_2022时,则参数locale的取值范围与GB18030保持一致。

不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

例如用户要将数据库编码格式初始化为GBK,可以采用如下步骤:

  1. 用locale -a |grep gbk命令查看系统支持gbk编码的区域,如下:

    omm@linux:~>  locale -a|grep gbk
    zh_CN.gbk
    zh_SG.gbk
    
  2. 初始化数据库时加入--locale=zh_CN.gbk选项。

--dbcompatibility=DBCOMPATIBILITY

指定兼容的数据库的类型。

取值范围:A、B、C、PG。分别表示兼容O、MY、TD和POSTGRES。

--lc-collate=LOCALE

--lc-ctype=LOCALE

--lc-messages=LOCALE

--lc-monetary=LOCALE

--lc-numeric=LOCALE

--lc-time=LOCALE

为新数据库设置指定范畴的区域。

各参数的取值必须是操作系统支持的值。不能包括不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

说明:

  • 如果用户在数据库安装的时候没有指定--lc-collate参数,则--lc-collate参数的默认值为C。
  • 当指定了数据库的编码格式为GB18030_2022时,则参数--lc-collate和参数--lc-ctype的取值范围与GB18030保持一致。

--no-locale

和--locale=C等价。

-

--pwfile=FILE

gs_initdb时从文件FILE中读取数据库中系统管理员的密码。该文件的第一行将被当作密码使用。

FILE可以是“相对路径+文件”的形式,也可以是“绝对路径+文件”的形式。相对路径是相对当前路径的。不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

-T, --text-search-config=CFG

设置缺省的文本搜索方式。此配置项的值不会做正确性校验,配置成功后,有日志记录提醒当前配置项的取值。

text-search-config的取值:

  • english全文搜索
  • simple普通文本搜索

默认值:simple

-U, --username=NAME

选择数据库系统管理员的用户名。

取值范围:正常的数据库用户。不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

默认值:运行gs_initdb的操作系统用户。

-W, --pwprompt

gs_initdb时强制交互式输入数据库管理员的密码。

-

-w, --pwpasswd=PASSWD

gs_initdb时通过命令行指定的管理员用户的密码,而不是交互式输入。

设置的密码要符合复杂度要求:

  • 最少包含8个字符;
  • 不能和用户名和当前密码(ALTER)相同,或和当前密码反序;
  • 至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。

-C, --enpwdfiledir=DIR

gs_initdb时指定的经AES128加密算法加密过的密码文件所在目录。gs_initdb会将该目录下密码文件进行解密,同时把解密后的密码做密码复杂度校验,校验通过的话会将此密码作为用户的密码。

说明:

  • 加密密码文件需使用gs_guc工具生成:gs_guc encrypt -K Gauss@123 -D Dir。
  • 如果用户指定多个-w和-C参数,gs_initdb会将用户输入的最后一个-w或-C参数作为用户的需求,即输入密码的明文或经过AES128加密后的密码。

不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

-X, --xlogdir=XLOGDIR

声明事务日志存储的目录。

所设置的目录,必须满足运行openGauss的用户有读写权限。

只支持绝对路径。不能包括“|”, “;”,“&”,“$”,“<”,“>”,“`”,“\\”,“!”这几个字符。

-S, --security

安全方式初始化数据库。

以-S方式初始化的数据库后,创建的数据库用户权限受到限制,默认不再具有public schema的使用权限。

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/