用yum在CentOS7上安装新版本的PostgreSQL
以下是在64位CentOS 7.1的yum仓库中添加PostgreSQL并安装最新版本的方法。
在CentOS 7.1中,可以使用yum进行标准安装的PostgreSQL版本为9.2.14,这是一个较旧的版本。通过使用PostgreSQL的yum存储库,您可以通过yum命令安装最新版本的PostgreSQL。
下载PostgreSQL存储库配置软件包。
执行以下命令,获取PostgreSQL的存储库配置包。
※在此,我们从CentOS7 64位链接下载了PostgreSQL9.5
$ wget https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
- なお、PostgreSQL9.6はテストバージョンなので避けましょう
安装PostgreSQL存储库。
执行以下命令,安装PostgreSQL仓库设置。
$ rpm -Uvh pgdg-centos95-9.5-2.noarch.rpm
- デフォルトの設定では、yumコマンドの実行時にPostgreSQLのリポジトリは、自動的に使用されるようになっています。明示的に使用されるようにしたい場合は、インストールされたPostgreSQLのリポジトリの設定ファイル「/etc/yum.repos.d/pgdg-95-centos.repo」を、以下のように編集します。
[pgdg95]
:(略)
enabled=1
↓変更
enabled=0
- yumコマンドの実行時にPostgreSQL9.5のリポジトリを使用するには、以下のようにオプション「–enablerepo=pgdg95」を付けて実行します。
$ yum --enablerepo=pgdg95 list | grep postgresql
安装PostgreSQL
- 以下のコマンドを実行して、PostgreSQL9.5の最新バージョンのインストールを行うことができます。
# yum --enablerepo=pgdg95 install postgresql95-server
由于Rails的原因,很有可能无法安装pg,因此我们应该安装devel。
$ sudo yum -y install postgresql-devel
数据库的初始化
- PostgreSQLをインストール後、初めにデータベースの初期化を行う必要があります。
请执行以下命令,进行数据库初始化。请务必执行。
$ /usr/pgsql-9.5/bin/postgresql95-setup initdb
安装后的设置
-
- PostgreSQLのサービスを起動
- 以下のコマンドを実行して、PostgreSQLのサービスを起動することができます。
$ systemctl start postgresql-9.5.service
自動启动PostgreSQL服务
-
- PostgreSQLのサービスは、インストール時点では自動起動設定がされていません。
- 自動起動設定の状態は、以下のコマンドで確認できます。
$ systemctl is-enabled postgresql-9.5.service
disabled
-
- 自動起動する設定になっている場合は「enabled」、なっていない場合は「disabled」と表示されます。
- 自動起動する設定になっていない場合、以下のコマンドで自動で起動するように設定できます。
$ systemctl enable postgresql-9.4.service
- 自動起動しないようにしたい場合は、以下のコマンドを実行します。
$ systemctl disable postgresql-9.4.service
连接到PostgreSQL
连接到PostgreSQL的验证设置是在PostgreSQL的配置文件“/var/lib/pgsql/9.5/data/postgresql.conf”和“/var/lib/pgsql/9.5/data/pg_hba.conf”中进行的。
默认设置如下:
安装PostgreSQL后,将创建数据库”postgres”,数据库连接用户”postgres”,以及在CentOS上创建用户”postgres”。
因此,安装完PostgreSQL后,可以使用本地Unix域套接字和使用用户”postgres”进行对等认证来进行初始连接。
要进行连接,请执行以下命令:
$ su - postgres
# psql
可以使用「su」命令切换用户至「postgres」。
为postgres用户设置密码
默认情况下,postgres用户没有设置密码。您可以执行以下语句来设置密码。
# postgres=# ALTER ROLE postgres PASSWORD 'xxxxxxxxxx';