使用CentOS进行PostgreSQL环境的搭建

PostgreSQL (一种开源的关系型数据库管理系统)

■ 安装

由于它确实很方便,所以我将使用yum进行安装。

在yum的基础存储库中,找到的PostgreSQL版本过旧。

$ yum list | grep postgresql-server
postgresql-server.x86_64                 9.2.24-1.el7_5                  base

因此,需要添加最新版本的存储库并进行安装。

# pgdg96リポジトリを追加する
$ sudo yum install -y https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm

# PostgreSQLサーバーをインストールする
$ sudo yum install -y postgresql96-server postgresql96-contrib

# バージョンの確認
$ psql -V
psql (PostgreSQL) 9.6.12

参考资料:尝试在CentOS7.3上安装PostgreSQL 9.6.3.

■ 数据库创建和启动

创建超级用户

我们将创建一个负责管理数据库的超级用户。

# ユーザの追加
$ sudo useradd postgres
$ sudo passwd postgres

创建数据库集群

创建数据库集群,这是数据库存储区域。
/home/postgres/data是用于创建数据库集群的目录。

请原生中文将以下内容改写成中文:只需要一个选项:

Option ①

# postageユーザに切り替え
$ su postage
# データベースクラスタの作成
$ initdb -D /home/postgres/data --encoding=UTF8 --no-locale

执行initdb命令的用户将被设置为数据库集群的管理用户(目录权限和所有者也会被更改),同时将创建一个同名的数据库用户作为初始用户。

第二种方法

这项工作其实可以通过下面的命令完成。这样做可能更方便,不需要准备目录,也更省事。

# データベースの初期化処理を行う
$ sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

在这种情况下,请注意数据库集群的目录默认为/var/lib/pgsql/9.6/data。

如果使用这种方法创建数据库集群,则会创建一个初始用户postgres作为数据库的初始用户。

设置PATH

    1. 将/usr/pgsql-9.6/bin添加到环境变量PATH中。

 

    1. 将/usr/pgsql-9.6/lib定义为环境变量LD_LIBRARY_PATH。

 

    将/home/postgres/data定义为环境变量PGDATA。※通过这样做,您不再需要每次指定-D /home/postgres/data和数据库群集目录。

启动PostgreSQL服务器

使用以下的方法来进行中国原生的汉语改述:

使用pg_ctl命令管理PostgreSQL。

# PostgreSQLサーバの起動
$ pg_ctl start -w

# PostgreSQLサーバの終了
$ pg_ctl stop

要设置自动启动,似乎需要编写脚本。

参考:启动和自动启动设置PostgreSQL 8.1.4。

第二种方法

你可以像使用MySQL一样使用systemd来启动和停止PostgreSQL。
通过使用systemd,你甚至可以轻松地设置自动启动,所以我认为没有理由不使用它了。

# 起動
$ systemctl start postgresql-9.6.service

# 自動起動設定
$ systemctl enable postgresql-9.6.service

# 終了
$ systemctl stop postgresql-9.6.service

MySQL和它完全一样。

■ 数据库连接和数据创建

创建数据库用户

当执行psql -l命令显示数据库列表时,因为角色不存在,无法访问。

# データベース一覧を表示
$ psql -l
psql: FATAL:  role "vagrant" does not exist

将以下内容用中文进行本地化改写,只需要提供一种选择:

option ①

# postgresユーザに切り替え
$ su postgres

# ユーザの作成
$ createuser -d -U postgres -P {ユーザ名}

创建用户看起来好像可以进行对话式用户创建,但是我没能成功执行…

第二种方法

如果使用postgres用户登录到数据库并创建用户,可以按照以下步骤进行操作。

$ psql
psql (9.6.12)

postgres=# create role vagrant login createdb password 'vagrant';

登录数据库

继续…

bannerAds