在CentOS 7.6上安装PostgreSQL 9.2
这是关于从新安装PostgreSQL到使用pgAdmin进行连接的记录。
管理服务器
Windows Server 2019
pgAdmin 4 v5.2
1. 安装PostgreSQL
由于CentOS7的默认软件包是PostgreSQL 9.2系列,因此需要从安装媒体进行下载。
安装媒体的挂载方法如下参考。
[root@cent76-d1 ~]# yum --disablerepo=\* --enablerepo=local_dvd list postgre*
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
利用可能なパッケージ
postgresql.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-contrib.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-devel.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-docs.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-jdbc.noarch 9.2.1002-6.el7_5 local_dvd
postgresql-libs.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-odbc.x86_64 09.03.0100-2.el7 local_dvd
postgresql-plperl.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-plpython.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-pltcl.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-server.x86_64 9.2.24-1.el7_5 local_dvd
postgresql-test.x86_64 9.2.24-1.el7_5 local_dvd
[root@cent76-d1 ~]#
进行安装。
[root@cent76-d1 ~]# yum --disablerepo=\* --enablerepo=local_dvd install -y postgresql*
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
依存性の解決をしています
《中略》
========================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
========================================================================================================================
インストール中:
postgresql x86_64 9.2.24-1.el7_5 local_dvd 3.0 M
postgresql-contrib x86_64 9.2.24-1.el7_5 local_dvd 553 k
postgresql-devel x86_64 9.2.24-1.el7_5 local_dvd 952 k
postgresql-docs x86_64 9.2.24-1.el7_5 local_dvd 6.9 M
postgresql-jdbc noarch 9.2.1002-6.el7_5 local_dvd 448 k
postgresql-libs x86_64 9.2.24-1.el7_5 local_dvd 234 k
postgresql-odbc x86_64 09.03.0100-2.el7 local_dvd 273 k
postgresql-plperl x86_64 9.2.24-1.el7_5 local_dvd 83 k
postgresql-plpython x86_64 9.2.24-1.el7_5 local_dvd 96 k
postgresql-pltcl x86_64 9.2.24-1.el7_5 local_dvd 60 k
postgresql-server x86_64 9.2.24-1.el7_5 local_dvd 3.8 M
postgresql-test x86_64 9.2.24-1.el7_5 local_dvd 1.8 M
依存性関連でのインストールをします:
copy-jdk-configs noarch 3.3-10.el7_5 local_dvd 21 k
java-11-openjdk-headless x86_64 1:11.0.ea.28-7.el7 local_dvd 38 M
javapackages-tools noarch 3.4.1-11.el7 local_dvd 73 k
libjpeg-turbo x86_64 1.2.90-6.el7 local_dvd 134 k
lksctp-tools x86_64 1.0.17-2.el7 local_dvd 88 k
perl x86_64 4:5.16.3-293.el7 local_dvd 8.0 M
perl-Carp noarch 1.26-244.el7 local_dvd 19 k
perl-Encode x86_64 2.51-7.el7 local_dvd 1.5 M
perl-Exporter noarch 5.68-3.el7 local_dvd 28 k
perl-File-Path noarch 2.09-2.el7 local_dvd 26 k
perl-File-Temp noarch 0.23.01-3.el7 local_dvd 56 k
perl-Filter x86_64 1.49-3.el7 local_dvd 76 k
perl-Getopt-Long noarch 2.40-3.el7 local_dvd 56 k
perl-HTTP-Tiny noarch 0.033-3.el7 local_dvd 38 k
perl-PathTools x86_64 3.40-5.el7 local_dvd 82 k
perl-Pod-Escapes noarch 1:1.04-293.el7 local_dvd 51 k
perl-Pod-Perldoc noarch 3.20-4.el7 local_dvd 87 k
perl-Pod-Simple noarch 1:3.28-4.el7 local_dvd 216 k
perl-Pod-Usage noarch 1.63-3.el7 local_dvd 27 k
perl-Scalar-List-Utils x86_64 1.27-248.el7 local_dvd 36 k
perl-Socket x86_64 2.010-4.el7 local_dvd 49 k
perl-Storable x86_64 2.45-3.el7 local_dvd 77 k
perl-Text-ParseWords noarch 3.29-4.el7 local_dvd 14 k
perl-Time-HiRes x86_64 4:1.9725-3.el7 local_dvd 45 k
perl-Time-Local noarch 1.2300-2.el7 local_dvd 24 k
perl-constant noarch 1.27-2.el7 local_dvd 19 k
perl-libs x86_64 4:5.16.3-293.el7 local_dvd 688 k
perl-macros x86_64 4:5.16.3-293.el7 local_dvd 44 k
perl-parent noarch 1:0.225-244.el7 local_dvd 12 k
perl-podlators noarch 2.5.1-3.el7 local_dvd 112 k
perl-threads x86_64 1.87-4.el7 local_dvd 49 k
perl-threads-shared x86_64 1.43-6.el7 local_dvd 39 k
python-javapackages noarch 3.4.1-11.el7 local_dvd 31 k
python-lxml x86_64 3.2.1-4.el7 local_dvd 758 k
tcl x86_64 1:8.5.13-8.el7 local_dvd 1.9 M
tzdata-java noarch 2018e-3.el7 local_dvd 185 k
unixODBC x86_64 2.3.1-11.el7 local_dvd 413 k
uuid x86_64 1.6.2-26.el7 local_dvd 55 k
トランザクションの要約
========================================================================================================================
インストール 12 パッケージ (+38 個の依存関係のパッケージ)
総ダウンロード容量: 71 M
インストール容量: 265 M
《中略》
インストール:
postgresql.x86_64 0:9.2.24-1.el7_5 postgresql-contrib.x86_64 0:9.2.24-1.el7_5 postgresql-devel.x86_64 0:9.2.24-1.el7_5 postgresql-docs.x86_64 0:9.2.24-1.el7_5
postgresql-jdbc.noarch 0:9.2.1002-6.el7_5 postgresql-libs.x86_64 0:9.2.24-1.el7_5 postgresql-odbc.x86_64 0:09.03.0100-2.el7 postgresql-plperl.x86_64 0:9.2.24-1.el7_5
postgresql-plpython.x86_64 0:9.2.24-1.el7_5 postgresql-pltcl.x86_64 0:9.2.24-1.el7_5 postgresql-server.x86_64 0:9.2.24-1.el7_5 postgresql-test.x86_64 0:9.2.24-1.el7_5
依存性関連をインストールしました:
copy-jdk-configs.noarch 0:3.3-10.el7_5 java-11-openjdk-headless.x86_64 1:11.0.ea.28-7.el7 javapackages-tools.noarch 0:3.4.1-11.el7 libjpeg-turbo.x86_64 0:1.2.90-6.el7
lksctp-tools.x86_64 0:1.0.17-2.el7 perl.x86_64 4:5.16.3-293.el7 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7
perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7
perl-Getopt-Long.noarch 0:2.40-3.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-293.el7
perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-293.el7 perl-macros.x86_64 4:5.16.3-293.el7
perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7
python-javapackages.noarch 0:3.4.1-11.el7 python-lxml.x86_64 0:3.2.1-4.el7 tcl.x86_64 1:8.5.13-8.el7 tzdata-java.noarch 0:2018e-3.el7
unixODBC.x86_64 0:2.3.1-11.el7 uuid.x86_64 0:1.6.2-26.el7
完了しました!
[root@cent76-d1 ~]#
2. PostgreSQL的自动启动和运行
启用进程的自动启动。
[root@cent76-d1 ~]# systemctl enable postgresql
[root@cent76-d1 ~]# systemctl is-enabled postgresql
enabled
[root@cent76-d1 ~]#
我尝试启动进程,但遇到了错误提示。
[root@cent76-d1 ~]# systemctl start postgresql
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.
[root@cent76-d1 ~]#
由于未执行initdb处理,导致错误的原因,因此执行initdb的操作。
[root@cent76-d1 ~]# postgresql-setup initdb
Initializing database ... OK
[root@cent76-d1 ~]#
使用这个,进程可以成功启动。
[root@cent76-d1 ~]# systemctl start postgresql
[root@cent76-d1 ~]#
3. 本地连接确认
首先,在本地进行连接确认。
[root@cent76-d1 ~]# sudo -u postgres psql -U postgres
could not change directory to "/root"
psql (9.2.24)
Type "help" for help.
postgres=#
postgres=# \q
[root@cent76-d1 ~]#
4.远程连接设置(postgresql.conf)
为了定义接收远程连接的自段,将以下配置文件进行追加。追加部分在最顶部一行。
文件路径:/var/lib/pgsql/data/postgresql.conf
listen_addresses = '*' ### CUSTOM ADD ###
#listen_addresses = 'localhost' # what IP address(es) to listen on;
5. 远程连接设置(pg_hba.conf)
为了对远程连接的段进行连接允许设置,我们将在以下配置文件中进行追加。追加部分位于最后的两行。
文件路径:/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
### CUSTOM ADD ###
host all postgres 10.0.1.0/24 trust
項目内容説明TYPEhost認証対象。’host’は任意の対象。DATABASEall対象DB。’all’は全てのDBを対象。USERpostgres対象ユーザ。’postgres’でスーパーユーザのみの指定ADDRESS10.0.1.0/24接続元。指定のセグメントをCIDR表記で記載。METHODtrust認証方式。trustは認証無しでログイン可能。
如果将认证方法设置为trust,则只需使用用户名即可连接,因此建议在适当的建立时机更改为md5认证或对等认证。