在CentOS 7.6上安装PostgreSQL 9.2

这是关于从新安装PostgreSQL到使用pgAdmin进行连接的记录。

image.png

管理服务器
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认证或对等认证。

使用pgAdmin进行连接。

image.png
image.png
image.png
image.png
广告
将在 10 秒后关闭
bannerAds