【PostgreSQL】从零开始:(七)PostgreSQL-Initdb命令初始化数据库

概述

initdb是PostgreSQL初始化数据库的工具,用来生成PostgreSQL的Data目录结构

使用initdb 创建数据库集群时,会自动初始化区域设置支持。 initdb 默认情况下将使用其执行环境的区域设置来初始化数据库集群,因此,如果您的系统已设置为在数据库集群中使用您想要的区域设置,那么您不需要其他任何东西去做。如果您想使用不同的区域设置(或者您不确定系统设置为哪个区域设置),您可以通过指定 initdb 使用哪个区域设置4>选项。例如:--locale

命令

initdb initializes a PostgreSQL database cluster.Usage:initdb [OPTION]... [DATADIR]Options:-A, --auth=METHOD         default authentication method for local connections--auth-host=METHOD    default authentication method for local TCP/IP connections--auth-local=METHOD   default authentication method for local-socket connections[-D, --pgdata=]DATADIR     location for this database cluster-E, --encoding=ENCODING   set default encoding for new databases-g, --allow-group-access  allow group read/execute on data directory--icu-locale=LOCALE   set ICU locale ID for new databases--icu-rules=RULES     set additional ICU collation rules for new databases-k, --data-checksums      use data page checksums--locale=LOCALE       set default locale for new databases--lc-collate=, --lc-ctype=, --lc-messages=LOCALE--lc-monetary=, --lc-numeric=, --lc-time=LOCALEset default locale in the respective category fornew databases (default taken from environment)--no-locale           equivalent to --locale=C--locale-provider={libc|icu}set default locale provider for new databases--pwfile=FILE         read password for the new superuser from file-T, --text-search-config=CFGdefault text search configuration-U, --username=NAME       database superuser name-W, --pwprompt            prompt for a password for the new superuser-X, --waldir=WALDIR       location for the write-ahead log directory--wal-segsize=SIZE    size of WAL segments, in megabytesLess commonly used options:-c, --set NAME=VALUE      override default setting for server parameter-d, --debug               generate lots of debugging output--discard-caches      set debug_discard_caches=1-L DIRECTORY              where to find the input files-n, --no-clean            do not clean up after errors-N, --no-sync             do not wait for changes to be written safely to disk--no-instructions     do not print instructions for next steps-s, --show                show internal settings-S, --sync-only           only sync database files to disk, then exitOther options:-V, --version             output version information, then exit-?, --help                show this help, then exitIf the data directory is not specified, the environment variable PGDATA
is used.Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>
[postgres@postgre-sql ~]$ 

参数

参数中文解释
-A, --auth=METHOD

这个选项为本地用户指定在pg_hba.conf中使用的默认认证方法(hostlocal行)。initdb将使用指定的认证方法为非复制连接以及复制连接填充pg_hba.conf项。

为了安装方便,md5是默认值。

--auth-host=METHOD这个选项为通过 TCP/IP 连接的本地用户指定在pg_hba.conf中使用的认证方法(host行)。
--auth-local=METHOD这个选项为通过 Unix 域套接字连接的本地用户指定在pg_hba.conf中使用的认证方法(local行)。
-D, --pgdata=DATADIR这个选项指定数据库集簇应该存放的目录。这是initdb要求的唯一信息,但是你可以通过设定PGDATA环境变量来避免书写它,这很方便因为之后数据库服务器使用同一个变量来找到数据库目录。
-E, --encoding=ENCODING选择模板数据库的编码。这也将是后来创建的任何数据库的默认编码,除非你覆盖它。默认值来自于区域,或者如果该值不起作用则为SQL_ASCII
-g, --allow-group-access允许与集簇拥有者同组的用户读取initdb创建的所有集簇文件。 Windows会忽略此选项,因为它不支持POSIX样式的组权限。
--icu-locale=LOCALE设置ICU区域设置ID
--icu-rules=RULES设置其他ICU排序规则
-k, --data-checksum在数据页面上使用校验码来帮助检测 I/O 系统造成的损坏。启用校验码将会引起显著的性能损失。如果被设置,在所有数据库中会为所有对象计算校验码。 所有的检验故障均会在pg_stat_database视图中被报告。
--locale=LOCALE为数据库集簇设置默认区域。如果这个选项没有被指定,该区域将从initdb所运行的环境中继承。
--lc-collate=设置字符串排序顺序
--lc-ctype=设置字符分类(什么是字母?它的大写字母等效项?)
--lc-messages=LOCALE设置消息语言
--lc-monetary=设置货币金额的格式
-lc-numeric=设置数字格式
--lc-time=LOCALE设置日期和时间的格式
--no-locale等效于--locale=C
--locale-provider={libc|icu}设置默认区域设置提供程序libc或者icu
--pwfile=FILEinitdb从一个文件读取数据库超级用户的口令。该文件的第一行被当作口令。
-T, --text-search-config=CFG设置默认的文本搜索配置。但在任一数据库中使用相同的配置。--text-search-config=postgresql.conf
-U, --username=NAME选择数据库超级用户的用户名。这个的默认值是实际运行initdb的用户的名称。超级用户的名字是什么真的不重要,但是你可以选择保留常用的名字postgres,即使操作系统的用户名不同。
-W, --pwpromptinitdb提示要求为数据库超级用户给予一个口令。如果你没有计划使用口令认证,这就不重要。否则在你设置一个口令之前你就无法使用口令认证。
-X, --waldir=WALDIR这个选项指定预写式日志会被存储在哪个目录中。
--wal-segsize=SIZE

设置WAL段尺寸,以兆字节为单位。这是WAL日志中每个文件的尺寸。默认的尺寸为16兆字节。该值必须位于2的1次幂和1024次幂(兆字节)之间。这个选项只能在初始化期间设置,并且之后不能更改。

调整这个值来控制WAL日志传送或者归档可能会有用。此外,在有大量WAL的数据库中,每个目录中数量巨大的WAL文件可能会成为性能和管理问题。增加WAL文件尺寸将会降低WAL文件的数量。

-c, --set NAME=VALUE覆盖服务器参数的默认设置
-d, --debug生成调试输出
--discard-caches生成的调试输出不进行缓存,与-d, --debug配合使用
-L DIRECTORY指定输入文件(比如postgres.bki)位置
-n, --no-clean出现错误后不进行清理
-N, --no-sync默认情况下,initdb将等待所有文件被安全地写到磁盘之后再返回。这个选项会导致initdb不等待就返回,后续操作系统如果崩溃可能损坏数据目录。这个选项不适用于生产环境。
--no-instructions不要打印下一步的说明
-s, --show显示内部配置
-S, --sync-only安全地把所有数据库文件写入到磁盘并退出。这个指令不会执行任何数据库初始化操作。
-V, --version打印initdb版本并退出。
-?, --help显示有关initdb命令行参数的帮助并退出。

测试

[postgres@postgre-sql ~]$ initdb -U postgres -D /data/16.1/data2 --pwfile=<(printf "%s" "12345678ab")
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".Data page checksums are disabled.creating directory /data/16.1/data2 ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... okinitdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:pg_ctl -D /data/16.1/data2 -l logfile start[postgres@postgre-sql ~]$ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/233143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVS+Keepalived集群的介绍和搭建

目录 LVSKeepalived集群的介绍 Keepalived及其工作原理 Keepalived体系主要模块及其作用 一个合格的集群应该具备的特性 健康检查&#xff08;探针&#xff09;的方式 实验&#xff1a;搭建LVSKeepalived集群 实验准备 实验步骤 LVS 部署 配置节点服务器 实验验证 实…

【【UART 传输数据实验】】

UART 传输数据实验 通信方式在日常的应用中一般分为串行通信&#xff08;serial communication&#xff09;和并行通信&#xff08;parallel communication&#xff09;。 我们再来了解下串行通信的特点。串行通信是指数据在一条数据线上&#xff0c;一比特接一比特地按顺序传…

中英购物商城 中英文网店系统怎么选

中英文网店系统能帮助企业将商品卖到不同国家和地区&#xff0c;有效走出国门的工具&#xff0c;在选择中英购物商城时&#xff0c;需要考虑以下几个方面&#xff1a; 1、语言支持&#xff1a;选择一款能够支持中英文双语的购物商城系统是必要的&#xff0c;同时建议选择能确认…

feign返回参数为统一转化

原因&#xff1a;使用feign调用接口&#xff0c;接收的数据结构必须和报文返回的结构一样。返回报文中data是对象&#xff0c;用string接收会报错。 扩充&#xff1a;jackson进行反序列化时&#xff0c;如果类型参数是JavaType&#xff0c;则使用泛型接收时&#xff0c;泛型需…

工大智信智能听诊器:为您提供健康报告的私人健康管家

工大智信智能听诊器&#xff1a;为您提供健康报告的私人健康管家 工大智信智能听诊器在日常健康监测中扮演着重要的角色&#xff0c;它的出现为预防疾病提供了有力的支持。以下是工大智信智能听诊器在监测和预防疾病方面的重要性描述&#xff0c;以及它如何帮助用户及早发现健康…

数据结构--图(更新ing~)

树具有灵活性&#xff0c;并且存在许多不同的树的应用&#xff0c;但是就树本身而言有一定的局限性&#xff0c;树只能表示层次关系&#xff0c;比如父子关系。而其他的比如兄弟关系只能够间接表示。 推广--- 图 图形结构中&#xff0c;数据元素之间的关系是任意的。 一、图…

[PTA]分寝室

学校新建了宿舍楼&#xff0c;共有 n 间寝室。等待分配的学生中&#xff0c;有女生 位、男生 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去&#xff0c;最后不能有寝室留空。 现请你写程序完成寝室的自动分配。分配规则如下&#xff1a; 男女生不能混住&…

如何去掉视频中不想要的水印,分享几个视频去水印技巧给你

如何去掉视频中不想要的水印&#xff1f;视频中的水印往往会遮挡画面&#xff0c;降低观看体验。本文将为您介绍三种方法&#xff0c;帮助您轻松去除视频中的水印&#xff0c;以便更好地欣赏和分享视频内容。 视频去水印技巧一&#xff1a;使用水印云 是一款操作简便、功能强大…

【C语言初阶】数组

目录 一、一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 二、二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 三、数组越界 四、数组作…

智能高效的Go开发工具GoLand v2023.3发布,支持AI辅助编码!

GoLand 使 Go 代码的阅读、编写和更改变得非常容易。即时错误检测和修复建议&#xff0c;通过一步撤消快速安全重构&#xff0c;智能代码完成&#xff0c;死代码检测和文档提示帮助所有 Go 开发人员&#xff0c;从新手到经验丰富的专业人士&#xff0c;创建快速、高效、和可靠的…

图片速览 OOD用于零样本 OOD 检测的 CLIPN:教 CLIP 说不

PAPERCODEhttps://arxiv.org/pdf/2308.12213v2.pdfhttps://github.com/xmed-lab/clipn 文章创新 以往由CLIP驱动的零样本OOD检测方法&#xff0c;只需要ID的类名&#xff0c;受到的关注较少。 本文提出了一种新的方法&#xff0c;即CLIP说“不”&#xff08;CLIPN&#xff09;…

nlohmann json:通过json_pointer读取设置object/array

通过json_pointer可以不必一层一层的读取或设置json值,可以直接完成。 其实json类似一个树,可以通过从根节点/开始,指定每一个节点及叶子节点的名字,然后直接访问json数据: #include <iostream> #include <nlohmann/json.hpp> using namespace std; using j…

计算机基础,以及实施运维工程师介绍

目录 一.实施&#xff0c;运维工程师介绍 1.什么是实施工程师&#xff1f; 实施工程师职责 2.什么是运维工程师&#xff1f; 运维工程师职责 3.实施运维需要的技术 数据库 操作系统 网络 服务器 软件 硬件 网络 二.计算机介绍 CPU 存储器 io 总线 主板 三.操…

x3::forward_ast

在 Boost Spirit X3 中&#xff0c;x3::forward_ast 是一个转换器&#xff08;transformer&#xff09;&#xff0c;用于将解析器&#xff08;parser&#xff09;的结果转发给用户自定义的结构。 在 Spirit X3 中&#xff0c;解析器&#xff08;parser&#xff09;可以生成一个…

linux dd命令,快速占用服务器磁盘

dd 是一个在 Linux 系统中用于复制文件和设备的命令。它可以用于创建镜像、备份和恢复数据、磁盘克隆等任务。dd 命令非常强大&#xff0c;但也需要小心使用&#xff0c;因为它可以对磁盘进行直接读写操作&#xff0c;如果使用不当可能导致数据丢失。 下面是一些常见的 dd 命令…

计算机毕业设计—基于Koa+vue的高校宿舍管理系统宿舍可视化系统

项目介绍 项目背景 随着科技的发展&#xff0c;智能化管理越来越重要。大学生在宿舍的时间超过了1/3&#xff0c;因此良好的宿舍管理对学生的生活和学习极为关键。学生宿舍管理系统能够合理安排新生分配宿舍&#xff0c;不浪费公共资源&#xff0c;减轻学校管理压力&#xff…

“image.save(image_path)“和“cv2.imwrite(image_path , image)”的区别

两者是保存图像的两种不同方式&#xff0c;分别适用于不同的图像库。 image.save(image_path)是PIL&#xff08;Python Imaging Library&#xff09;库中用于保存图像的方法。它需要将图像对象&#xff08;Image对象&#xff09;保存到指定的文件路径中。PIL库支持多种图像格式…

SQL中 WITH AS 的使用方法

一&#xff0e;WITH AS的含义 WITH AS短语&#xff0c;也叫做子查询部分&#xff08;subquery factoring&#xff09;&#xff0c;可以定义一个SQL片断&#xff0c;该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高&#xff0c;也可以在UNION ALL的不同部分&#xff…

你了解Redis中的跳跃表吗?

跳跃表的基本内容&#xff1a; 对于一个有序序列&#xff0c;链表相对于数组来说&#xff0c;删除和插入的效率要快很多&#xff0c;只需要改变指针的指向&#xff0c;但是在查找的时候&#xff0c;数组就要更占优势一些&#xff0c;可以随机访问&#xff0c;然而链表需要从头…

第51次中国互联网络发展状况统计报告

3月2日&#xff0c;中国互联网络信息中心&#xff08;CNNIC&#xff09;在京发布第51次《中国互联网络发展状况统计报告》&#xff08;以下简称&#xff1a;《报告》&#xff09;。《报告》显示&#xff0c;截至2022年12月&#xff0c;我国网民规模达10.67亿&#xff0c;较2021…