一、更新源
地址:https://yum.postgresql.org/repopackages.php
获取到以上yum源链接地址:
centos7:
https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
centos6:
https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
安装yum源:
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
二、安装postgresql
- 先查看postgreql源
[root@Hemny ~]# yum list | grep postgresql
freeradius-postgresql.x86_64 3.0.13-9.el7_5 updates
libreoffice-postgresql.x86_64 1:5.3.6.1-10.el7 base
pcp-pmda-postgresql.x86_64 3.12.2-5.el7 base
postgresql.i686 9.2.24-1.el7_5 updates
postgresql.x86_64 9.2.24-1.el7_5 updates
postgresql-contrib.x86_64 9.2.24-1.el7_5 updates
postgresql-devel.i686 9.2.24-1.el7_5 updates
postgresql-devel.x86_64 9.2.24-1.el7_5 updates
postgresql-docs.x86_64 9.2.24-1.el7_5 updates
postgresql-jdbc.noarch 42.2.5-1.rhel7 pgdg10
postgresql-jdbc-javadoc.noarch 42.2.5-1.rhel7 pgdg10
postgresql-libs.i686 9.2.24-1.el7_5 updates
postgresql-libs.x86_64 9.2.24-1.el7_5 updates
postgresql-odbc.x86_64 09.03.0100-2.el7 base
postgresql-plperl.x86_64 9.2.24-1.el7_5 updates
postgresql-plpython.x86_64 9.2.24-1.el7_5 updates
postgresql-pltcl.x86_64 9.2.24-1.el7_5 updates
postgresql-server.x86_64 9.2.24-1.el7_5 updates
postgresql-static.i686 9.2.24-1.el7_5 updates
postgresql-static.x86_64 9.2.24-1.el7_5 updates
postgresql-test.x86_64 9.2.24-1.el7_5 updates
postgresql-unit10.x86_64 7.0-1.rhel7 pgdg10
postgresql-unit10-debuginfo.x86_64 7.0-1.rhel7 pgdg10
postgresql-upgrade.x86_64 9.2.24-1.el7_5 updates
postgresql10.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-contrib.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-debuginfo.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-devel.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-docs.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-libs.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-odbc.x86_64 10.03.0000-1PGDG.rhel7 pgdg10
postgresql10-plperl.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-plpython.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-pltcl.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-server.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql10-tcl.x86_64 2.4.0-1.rhel7 pgdg10
postgresql10-tcl-debuginfo.x86_64 2.3.1-1.rhel7 pgdg10
postgresql10-test.x86_64 10.6-1PGDG.rhel7 pgdg10
postgresql_anonymizer10.noarch 0.2.1-1.rhel7 pgdg10
qt-postgresql.i686 1:4.8.7-2.el7 base
qt-postgresql.x86_64 1:4.8.7-2.el7 base
qt5-qtbase-postgresql.i686 5.9.2-3.el7 base
qt5-qtbase-postgresql.x86_64 5.9.2-3.el7 base
postgresql10-server【postgresql的服务端】
postgresql10-contrib【postgresql的extension,提供较多的拓展功能】
postgresql10【postgresql的数据库工具组件,包含很多管理数据库组件】
postgresql10-libs【postgresql的动态库,依赖安装】
postgresql10-odbc【postgresql的odbc相关组件】
postgresql10-plperl【postgresql的PL/Perl,如果使用Perl开发函数,需要安装】
postgresql10-plpython【postgresql的PL/python,如果使用python开发函数,需要安装】
postgresql10-pltcl【postgresql的PL/tcl,如果使用tcl开发函数,需要安装】
postgresql10-devel【postgresql的开发包,包含.h头文件等】
postgresql10-test【postgresql的回归测试组件】
postgresql10-docs【postgresql的说明文档】
- 安装postgresql。
这次安装的是相对完整的服务端,包括组件postgresql10-server、postgresql10-contrib、postgresql10、postgresql10-libs、postgresql10-plperl、postgresql10-plpython、postgresql10-pltcl。
注意:不包括开发、测试、调试、文档。
输入命令:
yum install postgresql10-server postgresql10-contrib postgresql10 postgresql10-libs postgresql10-plperl postgresql10-plpython postgresql10-pltcl
安装过程:
[root@Hemny ~]# yum install postgresql10-server postgresql10-contrib postgresql10 postgresql10-libs postgresql10-plperl postgresql10-plpython postgresql10-pltcl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.nju.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package postgresql10.x86_64 0:10.6-1PGDG.rhel7 will be installed
--> Processing Dependency: libicu for package: postgresql10-10.6-1PGDG.rhel7.x86_64
---> Package postgresql10-contrib.x86_64 0:10.6-1PGDG.rhel7 will be installed
--> Processing Dependency: libxslt.so.1(LIBXML2_1.0.22)(64bit) for package: postgresql10-contrib-10.6-1PGDG.rhel7.x86_64
--> Processing Dependency: libxslt.so.1(LIBXML2_1.0.18)(64bit) for package: postgresql10-contrib-10.6-1PGDG.rhel7.x86_64
--> Processing Dependency: libxslt.so.1(LIBXML2_1.0.11)(64bit) for package: postgresql10-contrib-10.6-1PGDG.rhel7.x86_64
--> Processing Dependency: libxslt.so.1()(64bit) for package: postgresql10-contrib-10.6-1PGDG.rhel7.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: postgresql10-contrib-10.6-1PGDG.rhel7.x86_64
---> Package postgresql10-libs.x86_64 0:10.6-1PGDG.rhel7 will be installed
---> Package postgresql10-plperl.x86_64 0:10.6-1PGDG.rhel7 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: postgresql10-plperl-10.6-1PGDG.rhel7.x86_64
---> Package postgresql10-plpython.x86_64 0:10.6-1PGDG.rhel7 will be installed
---> Package postgresql10-pltcl.x86_64 0:10.6-1PGDG.rhel7 will be installed
--> Processing Dependency: tcl for package: postgresql10-pltcl-10.6-1PGDG.rhel7.x86_64
--> Processing Dependency: libtcl8.5.so()(64bit) for package: postgresql10-pltcl-10.6-1PGDG.rhel7.x86_64
---> Package postgresql10-server.x86_64 0:10.6-1PGDG.rhel7 will be installed
--> Running transaction check
---> Package libicu.x86_64 0:50.1.2-15.el7 will be installed
---> Package libxslt.x86_64 0:1.1.28-5.el7 will be installed
---> Package perl.x86_64 4:5.16.3-292.el7 will be installed
--> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl-macros for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Getopt::Long) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(File::Temp) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(File::Path) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Exporter) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Cwd) for package: 4:perl-5.16.3-292.el7.x86_64
--> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-292.el7.x86_64
---> Package perl-libs.x86_64 4:5.16.3-292.el7 will be installed
---> Package tcl.x86_64 1:8.5.13-8.el7 will be installed
--> Running transaction check
---> Package perl-Carp.noarch 0:1.26-244.el7 will be installed
---> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed
---> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed
---> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed
---> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed
---> Package perl-Getopt-Long.noarch 0:2.40-3.el7 will be installed
--> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-3.el7.noarch
--> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-3.el7.noarch
---> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed
---> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed
--> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed
---> Package perl-Socket.x86_64 0:2.010-4.el7 will be installed
---> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed
---> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed
---> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed
---> Package perl-constant.noarch 0:1.27-2.el7 will be installed
---> Package perl-macros.x86_64 4:5.16.3-292.el7 will be installed
---> Package perl-threads.x86_64 0:1.87-4.el7 will be installed
---> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed
--> Running transaction check
---> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed
---> Package perl-Pod-Escapes.noarch 1:1.04-292.el7 will be installed
---> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed
--> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch
--> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch
---> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed
--> Running transaction check
---> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed
--> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
--> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
---> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed
--> Running transaction check
---> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed
---> Package perl-parent.noarch 1:0.225-244.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Installing:
postgresql10 x86_64 10.6-1PGDG.rhel7 pgdg10 1.6 M
postgresql10-contrib x86_64 10.6-1PGDG.rhel7 pgdg10 590 k
postgresql10-libs x86_64 10.6-1PGDG.rhel7 pgdg10 354 k
postgresql10-plperl x86_64 10.6-1PGDG.rhel7 pgdg10 58 k
postgresql10-plpython x86_64 10.6-1PGDG.rhel7 pgdg10 81 k
postgresql10-pltcl x86_64 10.6-1PGDG.rhel7 pgdg10 37 k
postgresql10-server x86_64 10.6-1PGDG.rhel7 pgdg10 4.6 M
Installing for dependencies:
libicu x86_64 50.1.2-15.el7 base 6.9 M
libxslt x86_64 1.1.28-5.el7 base 242 k
perl x86_64 4:5.16.3-292.el7 base 8.0 M
perl-Carp noarch 1.26-244.el7 base 19 k
perl-Encode x86_64 2.51-7.el7 base 1.5 M
perl-Exporter noarch 5.68-3.el7 base 28 k
perl-File-Path noarch 2.09-2.el7 base 26 k
perl-File-Temp noarch 0.23.01-3.el7 base 56 k
perl-Filter x86_64 1.49-3.el7 base 76 k
perl-Getopt-Long noarch 2.40-3.el7 base 56 k
perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k
perl-PathTools x86_64 3.40-5.el7 base 82 k
perl-Pod-Escapes noarch 1:1.04-292.el7 base 51 k
perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k
perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k
perl-Pod-Usage noarch 1.63-3.el7 base 27 k
perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k
perl-Socket x86_64 2.010-4.el7 base 49 k
perl-Storable x86_64 2.45-3.el7 base 77 k
perl-Text-ParseWords noarch 3.29-4.el7 base 14 k
perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k
perl-Time-Local noarch 1.2300-2.el7 base 24 k
perl-constant noarch 1.27-2.el7 base 19 k
perl-libs x86_64 4:5.16.3-292.el7 base 688 k
perl-macros x86_64 4:5.16.3-292.el7 base 43 k
perl-parent noarch 1:0.225-244.el7 base 12 k
perl-podlators noarch 2.5.1-3.el7 base 112 k
perl-threads x86_64 1.87-4.el7 base 49 k
perl-threads-shared x86_64 1.43-6.el7 base 39 k
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
Transaction Summary
===========================================================================================
Install 7 Packages (+30 Dependent packages)
Total download size: 28 M
Installed size: 95 M
Is this ok [y/d/N]: y
Downloading packages:
(1/37): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00:00
(2/37): libxslt-1.1.28-5.el7.x86_64.rpm | 242 kB 00:00:00
(3/37): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00:00
(4/37): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00:00
(5/37): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00:00
(6/37): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00:00
(7/37): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00:01
(8/37): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00:00
(9/37): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00:00
(10/37): perl-Pod-Escapes-1.04-292.el7.noarch.rpm | 51 kB 00:00:00
(11/37): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00:00
(12/37): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00:00
(13/37): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00:00
(14/37): perl-5.16.3-292.el7.x86_64.rpm | 8.0 MB 00:00:02
(15/37): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00:00
(16/37): perl-Socket-2.010-4.el7.x86_64.rpm | 49 kB 00:00:00
(17/37): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00:00
(18/37): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00:00
(19/37): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00:00
(20/37): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00:00
(21/37): perl-libs-5.16.3-292.el7.x86_64.rpm | 688 kB 00:00:00
(22/37): perl-macros-5.16.3-292.el7.x86_64.rpm | 43 kB 00:00:00
(23/37): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00:00
(24/37): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00:00
(25/37): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00:00
(26/37): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00:00
(27/37): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00:00
(28/37): libicu-50.1.2-15.el7.x86_64.rpm | 6.9 MB 00:00:03
(29/37): postgresql10-contrib-10.6-1PGDG.rhel7.x86_64.rpm | 590 kB 00:00:03
(30/37): postgresql10-libs-10.6-1PGDG.rhel7.x86_64.rpm | 354 kB 00:00:01
(31/37): postgresql10-plperl-10.6-1PGDG.rhel7.x86_64.rpm | 58 kB 00:00:00
(32/37): postgresql10-10.6-1PGDG.rhel7.x86_64.rpm | 1.6 MB 00:00:05
(33/37): postgresql10-plpython-10.6-1PGDG.rhel7.x86_64.rpm | 81 kB 00:00:00
(34/37): postgresql10-pltcl-10.6-1PGDG.rhel7.x86_64.rpm | 37 kB 00:00:00
(35/37): tcl-8.5.13-8.el7.x86_64.rpm | 1.9 MB 00:00:00
(36/37): postgresql10-server-10.6-1PGDG.rhel7.x86_64.rpm | 4.6 MB 00:00:06
perl-File-Path-2.09-2.el7.noar FAILED
http://mirrors.njupt.edu.cn/centos/7.5.1804/os/x86_64/Packages/perl-File-Path-2.09-2.el7.noarch.rpm: [Errno 12] Timeout on http://10.10.254.10/cache/4/01/mirrors.njupt.edu.cn/7b74215f0436e2c79988e442a0d2acf8/perl-File-Path-2.09-2.el7.noarch.rpm: (28, 'Connection timed out after 30947 milliseconds')
Trying other mirror.
(37/37): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00:00
-------------------------------------------------------------------------------------------
Total 870 kB/s | 28 MB 00:00:32
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : postgresql10-libs-10.6-1PGDG.rhel7.x86_64 1/37
Installing : libicu-50.1.2-15.el7.x86_64 2/37
Installing : postgresql10-10.6-1PGDG.rhel7.x86_64 3/37
Installing : postgresql10-server-10.6-1PGDG.rhel7.x86_64 4/37
Installing : 1:perl-parent-0.225-244.el7.noarch 5/37
Installing : perl-HTTP-Tiny-0.033-3.el7.noarch 6/37
Installing : perl-podlators-2.5.1-3.el7.noarch 7/37
Installing : perl-Pod-Perldoc-3.20-4.el7.noarch 8/37
Installing : 1:perl-Pod-Escapes-1.04-292.el7.noarch 9/37
Installing : perl-Text-ParseWords-3.29-4.el7.noarch 10/37
Installing : perl-Encode-2.51-7.el7.x86_64 11/37
Installing : perl-Pod-Usage-1.63-3.el7.noarch 12/37
Installing : 4:perl-macros-5.16.3-292.el7.x86_64 13/37
Installing : 4:perl-libs-5.16.3-292.el7.x86_64 14/37
Installing : perl-Storable-2.45-3.el7.x86_64 15/37
Installing : perl-Exporter-5.68-3.el7.noarch 16/37
Installing : perl-constant-1.27-2.el7.noarch 17/37
Installing : perl-Time-Local-1.2300-2.el7.noarch 18/37
Installing : perl-Socket-2.010-4.el7.x86_64 19/37
Installing : perl-Carp-1.26-244.el7.noarch 20/37
Installing : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 21/37
Installing : perl-PathTools-3.40-5.el7.x86_64 22/37
Installing : perl-Scalar-List-Utils-1.27-248.el7.x86_64 23/37
Installing : perl-File-Temp-0.23.01-3.el7.noarch 24/37
Installing : perl-File-Path-2.09-2.el7.noarch 25/37
Installing : perl-threads-shared-1.43-6.el7.x86_64 26/37
Installing : perl-threads-1.87-4.el7.x86_64 27/37
Installing : perl-Filter-1.49-3.el7.x86_64 28/37
Installing : 1:perl-Pod-Simple-3.28-4.el7.noarch 29/37
Installing : perl-Getopt-Long-2.40-3.el7.noarch 30/37
Installing : 4:perl-5.16.3-292.el7.x86_64 31/37
Installing : libxslt-1.1.28-5.el7.x86_64 32/37
Installing : 1:tcl-8.5.13-8.el7.x86_64 33/37
Installing : postgresql10-pltcl-10.6-1PGDG.rhel7.x86_64 34/37
Installing : postgresql10-contrib-10.6-1PGDG.rhel7.x86_64 35/37
Installing : postgresql10-plperl-10.6-1PGDG.rhel7.x86_64 36/37
Installing : postgresql10-plpython-10.6-1PGDG.rhel7.x86_64 37/37
Verifying : perl-HTTP-Tiny-0.033-3.el7.noarch 1/37
Verifying : 1:tcl-8.5.13-8.el7.x86_64 2/37
Verifying : perl-threads-shared-1.43-6.el7.x86_64 3/37
Verifying : perl-Storable-2.45-3.el7.x86_64 4/37
Verifying : perl-Exporter-5.68-3.el7.noarch 5/37
Verifying : perl-constant-1.27-2.el7.noarch 6/37
Verifying : perl-PathTools-3.40-5.el7.x86_64 7/37
Verifying : 4:perl-macros-5.16.3-292.el7.x86_64 8/37
Verifying : 1:perl-parent-0.225-244.el7.noarch 9/37
Verifying : 4:perl-5.16.3-292.el7.x86_64 10/37
Verifying : postgresql10-libs-10.6-1PGDG.rhel7.x86_64 11/37
Verifying : perl-File-Temp-0.23.01-3.el7.noarch 12/37
Verifying : 1:perl-Pod-Simple-3.28-4.el7.noarch 13/37
Verifying : perl-Getopt-Long-2.40-3.el7.noarch 14/37
Verifying : perl-Time-Local-1.2300-2.el7.noarch 15/37
Verifying : 4:perl-libs-5.16.3-292.el7.x86_64 16/37
Verifying : perl-Socket-2.010-4.el7.x86_64 17/37
Verifying : perl-Carp-1.26-244.el7.noarch 18/37
Verifying : postgresql10-contrib-10.6-1PGDG.rhel7.x86_64 19/37
Verifying : libxslt-1.1.28-5.el7.x86_64 20/37
Verifying : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 21/37
Verifying : postgresql10-plperl-10.6-1PGDG.rhel7.x86_64 22/37
Verifying : perl-Scalar-List-Utils-1.27-248.el7.x86_64 23/37
Verifying : 1:perl-Pod-Escapes-1.04-292.el7.noarch 24/37
Verifying : postgresql10-plpython-10.6-1PGDG.rhel7.x86_64 25/37
Verifying : perl-Pod-Usage-1.63-3.el7.noarch 26/37
Verifying : postgresql10-pltcl-10.6-1PGDG.rhel7.x86_64 27/37
Verifying : perl-Encode-2.51-7.el7.x86_64 28/37
Verifying : perl-Pod-Perldoc-3.20-4.el7.noarch 29/37
Verifying : perl-podlators-2.5.1-3.el7.noarch 30/37
Verifying : perl-File-Path-2.09-2.el7.noarch 31/37
Verifying : libicu-50.1.2-15.el7.x86_64 32/37
Verifying : perl-threads-1.87-4.el7.x86_64 33/37
Verifying : perl-Filter-1.49-3.el7.x86_64 34/37
Verifying : postgresql10-10.6-1PGDG.rhel7.x86_64 35/37
Verifying : perl-Text-ParseWords-3.29-4.el7.noarch 36/37
Verifying : postgresql10-server-10.6-1PGDG.rhel7.x86_64 37/37
Installed:
postgresql10.x86_64 0:10.6-1PGDG.rhel7
postgresql10-contrib.x86_64 0:10.6-1PGDG.rhel7
postgresql10-libs.x86_64 0:10.6-1PGDG.rhel7
postgresql10-plperl.x86_64 0:10.6-1PGDG.rhel7
postgresql10-plpython.x86_64 0:10.6-1PGDG.rhel7
postgresql10-pltcl.x86_64 0:10.6-1PGDG.rhel7
postgresql10-server.x86_64 0:10.6-1PGDG.rhel7
Dependency Installed:
libicu.x86_64 0:50.1.2-15.el7 libxslt.x86_64 0:1.1.28-5.el7
perl.x86_64 4:5.16.3-292.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-292.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-292.el7
perl-macros.x86_64 4:5.16.3-292.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 tcl.x86_64 1:8.5.13-8.el7
Complete!
三、初始化数据库
数据目录在 /data/pg10data
方法一:使用postgresql-10-setup 初始化数据库
postgresql-10-setup 自动创建
用户组:postgres
用户:postgres
mkdir /data/pg10data
chmod 700 /data/pg10data
chown postgres:postgres /data/pg10data
vi /usr/lib/systemd/system/postgresql-10.service
把Environment=PGDATA=/var/lib/pgsql/10/data/修改为Environment=PGDATA=/data/pg10data/
/usr/pgsql-10/bin/postgresql-10-setup initdb #初始化
systemctl enable postgresql-10 #设置开机启动
systemctl start postgresql-10 #启动postgresql服务
# centos6 的开机启动
chkconfig postgresql-10 on #设置开机启动
service postgresql-10 start #启动postgresql服务
方法二:使用 initdb 初始化数据库
数据目录在 /data/pg10data
#新增postgres用户组:
groupadd postgres
#新增postgres用户并且设置这个用户属于上面创建的postgres用户组:
useradd -g postgres postgres
#修改postgres用户密码:passwd postgres(这里设置密码为postgres)
passwd postgres --修改postgres用户密码
mkdir /data/pg10data
chmod 700 /data/pg10data
chown postgres:postgres /data/pg10data
su - postgres
#初始化数据库
$/usr/pgsql-10/bin/initdb --encoding=UTF-8 --local=zh_CN.UTF8 --pgdata=/data/pg10data/
启动
$/usr/pgsql-10/bin/pg_ctl -D /data/pg10data/ -l /data/pg10data/log/db.log start
停止
$/usr/pgsql-10/bin/pg_ctl -D /data/pg10data/ -l /data/pg10data/log/db.log stop
#写入系统启动项
$echo "su - postgres -c '/usr/pgsql-10/bin/pg_ctl -D /data/pg10data/ -l /data/pg10data/log/db.log start'" >> /etc/rc.d/rc.local
$chmod +x /etc/rc.d/rc.local
登录postgresql并设置密码
设置用户 postgres 密码 postgres
su - postgres
psql
ALTER USER postgres WITH PASSWORD 'postgres';
数据库登录权限设置
开启远程访问
vi /data/pg10data/postgresql.conf
修改#listen_addresses = ‘localhost’ 为 listen_addresses=’*’
当然,此处‘*’也可以改为任何你想开放的服务器IP
如有需要修改端口
vi/data/pg10data/postgresql.conf
修改#port =5432 为 port =端口
信任远程连接
vi /data/pg10data/pg_hba.conf
修改如下内容,信任指定服务器连接
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 password
打开防火墙
CentOS 防火墙中内置了PostgreSQL服务,配置文件位置在/usr/lib/firewalld/services/postgresql.xml,我们只需以服务方式将PostgreSQL服务开放即可。
#开机启用防火墙
systemctl enable firewalld
#开启防火墙
systemctl start firewalld
#开放postgresql服务
firewall-cmd --add-service=postgresql --permanent
#或者可以直接添加端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent
#重载防火墙
firewall-cmd --reload
#查看占用端口
firewall-cmd --list-ports
测试使用
因为postgres属于superuser,我们需要创建部分低权限用户
创建数据库
CREATE DATABASE testdb;
创建用户
CREATE USER testuser CREATEDB LOGIN PASSWORD 'testpassword';
将testdb所有权限赋给用户testuser
GRANT ALL ON DATABASE testdb TO testuser;
删除数据库
drop database testdb;
删除用户
drop role testuser;