Linux(Redhat 7.6)安装PG(Postgresql 9.6.0)
Linux(Redhat 7.6)安装PG(Postgresql 9.6.0)
1. 摘要
需要在Linux上安装postgres数据库,指定安装目录,简单测试各种配置。安装包下载地址:
//源码
https://github.com/postgres/postgres/releases //二进制
https://www.enterprisedb.com/download-postgresql-binaries //官网
https://www.postgresql.org/
本次测试使用的版本安装包是【postgresql-9.6.0.tar.gz】
查看本地yum源


[root@mm2020 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 42G 4.0G 38G 10% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 4.0K 1.9G 1% /dev/shm
tmpfs 1.9G 13M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 166M 332M 34% /boot
tmpfs 378M 44K 378M 1% /run/user/0
/dev/sr0 4.2G 4.2G 0 100% /run/media/root/RHEL-7.6 Server.x86_64 [root@mm2020 ~]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
repo id repo name status
!oel6 OEL6.5 5,152
repolist: 5,152
yum
2. 操作步骤
2.1 安装前配置
2.1.1 永久关闭防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld


[root@mm2020 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-11-03 13:43:21 CST; 16min ago
Docs: man:firewalld(1)
Main PID: 9407 (firewalld)
Tasks: 2
CGroup: /system.slice/firewalld.service
└─9407 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Nov 03 13:43:18 mm2020.us.oracle.com systemd[1]: Starting firewalld - dynamic firewall daemon...
Nov 03 13:43:21 mm2020.us.oracle.com systemd[1]: Started firewalld - dynamic firewall daemon.
[root@mm2020 ~]# systemctl stop firewalld
[root@mm2020 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
详细代码
2.1.2 系统安装必要依赖
yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch readline-devel.x86_64


[root@mm2020 ~]# yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch readline-devel.x86_64
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
oel6 | 4.3 kB 00:00:00
Package glibc-2.17-260.el7.x86_64 already installed and latest version
Package 2:vim-enhanced-7.4.160-5.el7.x86_64 already installed and latest version
No package gcc-java available.
Package 1:openssl-1.0.2k-16.el7.x86_64 already installed and latest version
Package libgcc-4.8.5-36.el7.x86_64 already installed and latest version
Package 1:java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 already installed and latest version
No package perl-Module-Install.noarch available.
Resolving Dependencies
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed
---> Package apr-devel.x86_64 0:1.4.8-3.el7_4.1 will be installed
---> Package gcc.x86_64 0:4.8.5-36.el7 will be installed
--> Processing Dependency: cpp = 4.8.5-36.el7 for package: gcc-4.8.5-36.el7.x86_64
---> Package glibc-devel.x86_64 0:2.17-260.el7 will be installed
--> Processing Dependency: glibc-headers = 2.17-260.el7 for package: glibc-devel-2.17-260.el7.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-260.el7.x86_64
---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.181-7.b13.el7 will be installed
---> Package openssl-devel.x86_64 1:1.0.2k-16.el7 will be installed
--> Processing Dependency: krb5-devel(x86-64) for package: 1:openssl-devel-1.0.2k-16.el7.x86_64
--> Processing Dependency: zlib-devel(x86-64) for package: 1:openssl-devel-1.0.2k-16.el7.x86_64
---> Package readline-devel.x86_64 0:6.2-10.el7 will be installed
--> Processing Dependency: ncurses-devel for package: readline-devel-6.2-10.el7.x86_64
--> Running transaction check
---> Package cpp.x86_64 0:4.8.5-36.el7 will be installed
---> Package glibc-headers.x86_64 0:2.17-260.el7 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-260.el7.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-260.el7.x86_64
---> Package krb5-devel.x86_64 0:1.15.1-34.el7 will be installed
--> Processing Dependency: libkadm5(x86-64) = 1.15.1-34.el7 for package: krb5-devel-1.15.1-34.el7.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.15.1-34.el7.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.15.1-34.el7.x86_64
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.15.1-34.el7.x86_64
--> Processing Dependency: libverto-devel for package: krb5-devel-1.15.1-34.el7.x86_64
---> Package ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 will be installed
---> Package zlib-devel.x86_64 0:1.2.7-18.el7 will be installed
--> Running transaction check
---> Package kernel-headers.x86_64 0:3.10.0-957.el7 will be installed
---> Package keyutils-libs-devel.x86_64 0:1.5.8-3.el7 will be installed
---> Package libcom_err-devel.x86_64 0:1.42.9-13.el7 will be installed
---> Package libkadm5.x86_64 0:1.15.1-34.el7 will be installed
---> Package libselinux-devel.x86_64 0:2.5-14.1.el7 will be installed
--> Processing Dependency: libsepol-devel(x86-64) >= 2.5-10 for package: libselinux-devel-2.5-14.1.el7.x86_64
--> Processing Dependency: pkgconfig(libpcre) for package: libselinux-devel-2.5-14.1.el7.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.5-14.1.el7.x86_64
---> Package libverto-devel.x86_64 0:0.2.5-4.el7 will be installed
--> Running transaction check
---> Package libsepol-devel.x86_64 0:2.5-10.el7 will be installed
---> Package pcre-devel.x86_64 0:8.32-17.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ==============================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================
Installing:
apr x86_64 1.4.8-3.el7_4.1 oel6 103 k
apr-devel x86_64 1.4.8-3.el7_4.1 oel6 188 k
gcc x86_64 4.8.5-36.el7 oel6 16 M
glibc-devel x86_64 2.17-260.el7 oel6 1.1 M
java-1.8.0-openjdk-devel x86_64 1:1.8.0.181-7.b13.el7 oel6 9.8 M
openssl-devel x86_64 1:1.0.2k-16.el7 oel6 1.5 M
readline-devel x86_64 6.2-10.el7 oel6 138 k
Installing for dependencies:
cpp x86_64 4.8.5-36.el7 oel6 6.0 M
glibc-headers x86_64 2.17-260.el7 oel6 683 k
kernel-headers x86_64 3.10.0-957.el7 oel6 8.0 M
keyutils-libs-devel x86_64 1.5.8-3.el7 oel6 37 k
krb5-devel x86_64 1.15.1-34.el7 oel6 271 k
libcom_err-devel x86_64 1.42.9-13.el7 oel6 31 k
libkadm5 x86_64 1.15.1-34.el7 oel6 177 k
libselinux-devel x86_64 2.5-14.1.el7 oel6 187 k
libsepol-devel x86_64 2.5-10.el7 oel6 77 k
libverto-devel x86_64 0.2.5-4.el7 oel6 12 k
ncurses-devel x86_64 5.9-14.20130511.el7_4 oel6 713 k
pcre-devel x86_64 8.32-17.el7 oel6 480 k
zlib-devel x86_64 1.2.7-18.el7 oel6 50 k Transaction Summary
==============================================================================================================================================
Install 7 Packages (+13 Dependent packages) Total download size: 46 M
Installed size: 109 M
Downloading packages:
----------------------------------------------------------------------------------------------------------------------------------------------
Total 56 MB/s | 46 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libkadm5-1.15.1-34.el7.x86_64 1/20
Installing : apr-1.4.8-3.el7_4.1.x86_64 2/20
Installing : libcom_err-devel-1.42.9-13.el7.x86_64 3/20
Installing : libsepol-devel-2.5-10.el7.x86_64 4/20
Installing : zlib-devel-1.2.7-18.el7.x86_64 5/20
Installing : pcre-devel-8.32-17.el7.x86_64 6/20
Installing : libselinux-devel-2.5-14.1.el7.x86_64 7/20
Installing : keyutils-libs-devel-1.5.8-3.el7.x86_64 8/20
Installing : ncurses-devel-5.9-14.20130511.el7_4.x86_64 9/20
Installing : libverto-devel-0.2.5-4.el7.x86_64 10/20
Installing : krb5-devel-1.15.1-34.el7.x86_64 11/20
Installing : kernel-headers-3.10.0-957.el7.x86_64 12/20
Installing : glibc-headers-2.17-260.el7.x86_64 13/20
Installing : glibc-devel-2.17-260.el7.x86_64 14/20
Installing : cpp-4.8.5-36.el7.x86_64 15/20
Installing : gcc-4.8.5-36.el7.x86_64 16/20
Installing : 1:openssl-devel-1.0.2k-16.el7.x86_64 17/20
Installing : readline-devel-6.2-10.el7.x86_64 18/20
Installing : apr-devel-1.4.8-3.el7_4.1.x86_64 19/20
Installing : 1:java-1.8.0-openjdk-devel-1.8.0.181-7.b13.el7.x86_64 20/20
oel6/productid | 1.6 kB 00:00:00
Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.181-7.b13.el7.x86_64 1/20
Verifying : glibc-devel-2.17-260.el7.x86_64 2/20
Verifying : cpp-4.8.5-36.el7.x86_64 3/20
Verifying : kernel-headers-3.10.0-957.el7.x86_64 4/20
Verifying : apr-devel-1.4.8-3.el7_4.1.x86_64 5/20
Verifying : 1:openssl-devel-1.0.2k-16.el7.x86_64 6/20
Verifying : gcc-4.8.5-36.el7.x86_64 7/20
Verifying : libverto-devel-0.2.5-4.el7.x86_64 8/20
Verifying : ncurses-devel-5.9-14.20130511.el7_4.x86_64 9/20
Verifying : glibc-headers-2.17-260.el7.x86_64 10/20
Verifying : keyutils-libs-devel-1.5.8-3.el7.x86_64 11/20
Verifying : pcre-devel-8.32-17.el7.x86_64 12/20
Verifying : krb5-devel-1.15.1-34.el7.x86_64 13/20
Verifying : zlib-devel-1.2.7-18.el7.x86_64 14/20
Verifying : readline-devel-6.2-10.el7.x86_64 15/20
Verifying : libselinux-devel-2.5-14.1.el7.x86_64 16/20
Verifying : libsepol-devel-2.5-10.el7.x86_64 17/20
Verifying : libcom_err-devel-1.42.9-13.el7.x86_64 18/20
Verifying : apr-1.4.8-3.el7_4.1.x86_64 19/20
Verifying : libkadm5-1.15.1-34.el7.x86_64 20/20 Installed:
apr.x86_64 0:1.4.8-3.el7_4.1 apr-devel.x86_64 0:1.4.8-3.el7_4.1 gcc.x86_64 0:4.8.5-36.el7
glibc-devel.x86_64 0:2.17-260.el7 java-1.8.0-openjdk-devel.x86_64 1:1.8.0.181-7.b13.el7 openssl-devel.x86_64 1:1.0.2k-16.el7
readline-devel.x86_64 0:6.2-10.el7 Dependency Installed:
cpp.x86_64 0:4.8.5-36.el7 glibc-headers.x86_64 0:2.17-260.el7 kernel-headers.x86_64 0:3.10.0-957.el7
keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-34.el7 libcom_err-devel.x86_64 0:1.42.9-13.el7
libkadm5.x86_64 0:1.15.1-34.el7 libselinux-devel.x86_64 0:2.5-14.1.el7 libsepol-devel.x86_64 0:2.5-10.el7
libverto-devel.x86_64 0:0.2.5-4.el7 ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 pcre-devel.x86_64 0:8.32-17.el7
zlib-devel.x86_64 0:1.2.7-18.el7 Complete!
[root@mm2020 ~]#
详细代码
2.1.3 创建系统用户
adduser postgres
echo postgres | passwd --stdin postgres


[root@mm2020 ~]# adduser postgres
[root@mm2020 ~]#
[root@mm2020 ~]# echo postgres | passwd --stdin postgres
Changing password for user postgres.
passwd: all authentication tokens updated successfully.
详细代码
2.1.4 配置环境变量
//root cat >> /etc/profile << EOF
PATH=$PATH:/usr/local/pgsql/bin
EOF
source /etc/profile //postgres su - postgres
cat >> .bashrc << EOF
export PGHOME=/usr/local/pgsql
export PGDATA=$PGHOME/data
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
EOF
source .bashrc
2.1.5 下载上传并解压安装包
上传并解压安装包到指定目录
[root@mm2020 ~]# ls -ltr /usr/local/src
total 24492
-rw-r--r--. 1 root root 25075838 Nov 2 16:58 postgresql-9.6.0.tar.gz
[root@mm2020 ~]# tar -zxvf /usr/local/src/postgresql-9.6.0.tar.gz -C /usr/local/
......
[root@mm2020 ~]# mv /usr/local/postgresql-9.6.0/ /usr/local/pgsql/
[root@mm2020 ~]# ls -ltr /usr/local/pgsql
total 652
-rw-r--r--. 1 1107 1107 1209 Sep 27 2016 README
-rw-r--r--. 1 1107 1107 1489 Sep 27 2016 Makefile
-rw-r--r--. 1 1107 1107 283 Sep 27 2016 HISTORY
-rw-r--r--. 1 1107 1107 3638 Sep 27 2016 GNUmakefile.in
-rw-r--r--. 1 1107 1107 1192 Sep 27 2016 COPYRIGHT
-rw-r--r--. 1 1107 1107 75195 Sep 27 2016 configure.in
-rwxr-xr-x. 1 1107 1107 471157 Sep 27 2016 configure
-rw-r--r--. 1 1107 1107 384 Sep 27 2016 aclocal.m4
drwxrwxrwx. 55 1107 1107 4096 Sep 27 2016 contrib
drwxrwxrwx. 2 1107 1107 4096 Sep 27 2016 config
drwxrwxrwx. 3 1107 1107 107 Sep 27 2016 doc
-rw-r--r--. 1 1107 1107 75065 Sep 27 2016 INSTALL
drwxrwxrwx. 16 1107 1107 4096 Sep 27 2016 src
2.1.6 创建数据文件
//创建数据库数据存放的文件夹,不影响后续操作
mkdir /usr/local/pgsql/data //把安装目录赋权给postgres用户
chown -R postgres:postgres /usr/local/pgsql/
2.2 安装PG
// 编译前的配置
cd /usr/local/pgsql/
./configure --prefix=/usr/local/pgsql // 正式编译
make
//正式编译花费时间较长,请耐心等候几分钟,直到出现下面结束语句时,执行安装
......
All of PostgreSQL successfully made. Ready to install. // 安装
make install
//直到出现下面结束语句时,安装成功
PostgreSQL installation complete.
2.3 启动PG
初始化数据库、启动postgres service服务需要在系统用户【postgres】下执行。
2.3.1 检查安装成功后目录前后的差异
[root@mm2020 pgsql]# pwd
/usr/local/pgsql
[root@mm2020 pgsql]# chown -R postgres:postgres /usr/local/pgsql/
[root@mm2020 pgsql]# ls -ltr
total 1076
-rw-r--r--. 1 postgres postgres 1209 Sep 27 2016 README
-rw-r--r--. 1 postgres postgres 1489 Sep 27 2016 Makefile
-rw-r--r--. 1 postgres postgres 283 Sep 27 2016 HISTORY
-rw-r--r--. 1 postgres postgres 3638 Sep 27 2016 GNUmakefile.in
-rw-r--r--. 1 postgres postgres 1192 Sep 27 2016 COPYRIGHT
-rw-r--r--. 1 postgres postgres 75195 Sep 27 2016 configure.in
-rwxr-xr-x. 1 postgres postgres 471157 Sep 27 2016 configure
-rw-r--r--. 1 postgres postgres 384 Sep 27 2016 aclocal.m4
drwxrwxrwx. 55 postgres postgres 4096 Sep 27 2016 contrib
drwxrwxrwx. 2 postgres postgres 4096 Sep 27 2016 config
drwxrwxrwx. 3 postgres postgres 107 Sep 27 2016 doc
-rw-r--r--. 1 postgres postgres 75065 Sep 27 2016 INSTALL
drwxr-xr-x. 2 postgres postgres 6 Nov 3 14:29 data
-rwxr-xr-x. 1 postgres postgres 39263 Nov 3 14:34 config.status
-rw-r--r--. 1 postgres postgres 3638 Nov 3 14:34 GNUmakefile
drwxrwxrwx. 16 postgres postgres 4096 Nov 3 14:34 src
-rw-r--r--. 1 postgres postgres 369558 Nov 3 14:34 config.log
drwxr-xr-x. 6 postgres postgres 4096 Nov 3 14:38 include
drwxr-xr-x. 2 postgres postgres 4096 Nov 3 14:38 bin
drwxr-xr-x. 6 postgres postgres 4096 Nov 3 14:38 share
drwxr-xr-x. 4 postgres postgres 4096 Nov 3 14:38 lib
[root@mm2020 pgsql]# cd bin/
[root@mm2020 bin]# ls -ltr
total 10384
-rwxr-xr-x. 1 postgres postgres 6958152 Nov 3 14:38 postgres
lrwxrwxrwx. 1 postgres postgres 8 Nov 3 14:38 postmaster -> postgres
-rwxr-xr-x. 1 postgres postgres 879976 Nov 3 14:38 ecpg
-rwxr-xr-x. 1 postgres postgres 109248 Nov 3 14:38 initdb
-rwxr-xr-x. 1 postgres postgres 24160 Nov 3 14:38 pg_archivecleanup
-rwxr-xr-x. 1 postgres postgres 78720 Nov 3 14:38 pg_basebackup
-rwxr-xr-x. 1 postgres postgres 55360 Nov 3 14:38 pg_receivexlog
-rwxr-xr-x. 1 postgres postgres 60120 Nov 3 14:38 pg_recvlogical
-rwxr-xr-x. 1 postgres postgres 29584 Nov 3 14:38 pg_config
-rwxr-xr-x. 1 postgres postgres 42480 Nov 3 14:38 pg_controldata
-rwxr-xr-x. 1 postgres postgres 45064 Nov 3 14:38 pg_ctl
-rwxr-xr-x. 1 postgres postgres 399048 Nov 3 14:38 pg_dump
-rwxr-xr-x. 1 postgres postgres 160208 Nov 3 14:38 pg_restore
-rwxr-xr-x. 1 postgres postgres 92904 Nov 3 14:38 pg_dumpall
-rwxr-xr-x. 1 postgres postgres 51744 Nov 3 14:38 pg_resetxlog
-rwxr-xr-x. 1 postgres postgres 86480 Nov 3 14:38 pg_rewind
-rwxr-xr-x. 1 postgres postgres 24936 Nov 3 14:38 pg_test_fsync
-rwxr-xr-x. 1 postgres postgres 19664 Nov 3 14:38 pg_test_timing
-rwxr-xr-x. 1 postgres postgres 121376 Nov 3 14:38 pg_upgrade
-rwxr-xr-x. 1 postgres postgres 76128 Nov 3 14:38 pg_xlogdump
-rwxr-xr-x. 1 postgres postgres 136400 Nov 3 14:38 pgbench
-rwxr-xr-x. 1 postgres postgres 515864 Nov 3 14:38 psql
-rwxr-xr-x. 1 postgres postgres 58856 Nov 3 14:38 createdb
-rwxr-xr-x. 1 postgres postgres 54232 Nov 3 14:38 dropdb
-rwxr-xr-x. 1 postgres postgres 71752 Nov 3 14:38 createlang
-rwxr-xr-x. 1 postgres postgres 71712 Nov 3 14:38 droplang
-rwxr-xr-x. 1 postgres postgres 63664 Nov 3 14:38 createuser
-rwxr-xr-x. 1 postgres postgres 54200 Nov 3 14:38 dropuser
-rwxr-xr-x. 1 postgres postgres 59144 Nov 3 14:38 clusterdb
-rwxr-xr-x. 1 postgres postgres 68016 Nov 3 14:38 vacuumdb
-rwxr-xr-x. 1 postgres postgres 63336 Nov 3 14:38 reindexdb
-rwxr-xr-x. 1 postgres postgres 35744 Nov 3 14:38 pg_isready
2.3.2 初始化数据库
[root@mm2020 ~]# su - postgres
Last login: Tue Nov 3 14:50:30 CST 2020 on pts/0
[postgres@mm2020 ~]$ initdb -D $PGDATA
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process. The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D /usr/local/pgsql/data -l logfile start
2.3.3 启动postgres service服务
[postgres@mm2020 ~]$ pg_ctl -D $PGDATA -l $PGDATA/logfile start
server starting
[postgres@mm2020 ~]$ ps -ef | grep pg
postgres 80845 1 0 14:52 pts/0 00:00:00 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres 80903 80787 0 14:56 pts/0 00:00:00 grep --color=auto pg
[postgres@mm2020 ~]$
[postgres@mm2020 ~]$ ps -ef | grep postgres
root 80786 12825 0 14:50 pts/0 00:00:00 su - postgres
postgres 80787 80786 0 14:50 pts/0 00:00:00 -bash
postgres 80845 1 0 14:52 pts/0 00:00:00 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres 80847 80845 0 14:52 ? 00:00:00 postgres: checkpointer process
postgres 80848 80845 0 14:52 ? 00:00:00 postgres: writer process
postgres 80849 80845 0 14:52 ? 00:00:00 postgres: wal writer process
postgres 80850 80845 0 14:52 ? 00:00:00 postgres: autovacuum launcher process
postgres 80851 80845 0 14:52 ? 00:00:00 postgres: stats collector process
postgres 80904 80787 0 14:56 pts/0 00:00:00 ps -ef
postgres 80905 80787 0 14:56 pts/0 00:00:00 grep --color=auto postgres
2.4 测试PG
设置用户密码
//使用postgres账户进入控制台(现在密码应该是空)
//把密码设置成123456可以使用\q命令退出控制台 [postgres@mm2020 ~]$ psql -U postgres
psql (9.6.0)
Type "help" for help. postgres=# \password
Enter new password: <postgres>
Enter it again: <postgres>
//或=# alter user postgres with password 'postgres';
ALTER ROLE postgres=# \q
[postgres@mm2020 ~]$
创建用于记录数据库操作语句的历史文件
touch /usr/local/pgsql/.pgsql_history
chown postgres:postgres /usr/local/pgsql/.pgsql_history
//创建测试数据库
[postgres@mm2020 ~]$ createdb test //使用psql工具连接进入到数据库操作命令行
[postgres@mm2020 ~]$ psql test
psql (9.6.0)
Type "help" for help. //设置sql语句执行的上下文(即操作的Schema)
test=# set search_path to public;
SET //创建测试表
test=# create table test(id int primary key,name varchar(50) not null);
CREATE TABLE
test=# insert into test(id,name) values(1,'小明');
INSERT 0 1
test=# insert into test(id,name) values(2,'小红');
INSERT 0 1 //查看表记录
test=# select * from test;
id | name
----+------
1 | 小明
2 | 小红
(2 rows) //退出
test=# \q
[postgres@mm2020 ~]$
2.5 配置开机自启服务
将postgresql-9.6.0.tar.gz解压后的安装路径中的文件 /usr/local/pgsql/contrib/start-scripts/linux 复制重命名为 /etc/init.d/postgresql
//切换到root用户下 cp /usr/local/pgsql/contrib/start-scripts/linux /etc/init.d/postgresql
chown postgres:postgres /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql //修改/etc/init.d/postgresql文件的两个变量 vi /etc/init.d/postgresql
prefix=$PGHOME //数据库安装路径
PGDATA=$PGDATA //数据库数据路径 //主要参数设置
[root@mm2020 ~]# ll /etc/init.d/postgresql
-rwxr-xr-x. 1 postgres postgres 3642 Nov 3 19:59 /etc/init.d/postgresql
[root@mm2020 ~]# cat /etc/init.d/postgresql | grep prefix=
prefix=/usr/local/pgsql
[root@mm2020 ~]# cat /etc/init.d/postgresql | grep PGDATA=
PGDATA="/usr/local/pgsql/data"
测试关闭启动postgresql服务
[root@mm2020 ~]# service postgresql status
pg_ctl: server is running (PID: 80845)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data"
[root@mm2020 ~]# service postgresql stop
Stopping PostgreSQL: ok
[root@mm2020 ~]# service postgresql start
Starting PostgreSQL: ok
设置postgresql服务开机自启动
[root@mm2020 ~]# chkconfig --list Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'. netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rhnsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vmware-tools 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@mm2020 ~]# chkconfig --add postgresql
[root@mm2020 ~]# chkconfig postgresql on
[root@mm2020 ~]# chkconfig --list Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'. netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rhnsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vmware-tools 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2.6 设置监听
Linux修改PostgreSQL外部访问白名单,先关闭防火墙,或者开放默认端口5432
//主要修改两个配置文件
PGDATA=/usr/local/pgsql/data $PGDATA/pg_hba.conf
$PGDATA/postgresql.conf //文件 pg_hba.conf
修改IPv4配置
//原设置
# IPv4 local connections:
host all all 127.0.0.1/32 trust
//可更改配置
//IP全匹配
# IPv4 local connections:
host all all 192.168.1.21/32 trust
//IP匹配前三段
# IPv4 local connections:
host all all 192.168.1.21/24 trust
//全部允许
# IPv4 local connections:
host all all 0.0.0.0/0 trust //文件 postgresql.conf
修改监听配置
//原设置
# - Connection Settings - #listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
//可更改配置
# - Connection Settings - listen_addresses = '*'
port = 5432
重启pg服务生效
[root@mm2020 ~]# service postgresql status
pg_ctl: server is running (PID: 84601)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" [root@mm2020 ~]# service postgresql restart
Restarting PostgreSQL: ok
示例测试网络连接
[postgres@mm2020 ~]$ cat $PGDATA/pg_hba.conf | grep trust
host all all 127.0.0.1/32 trust
[postgres@mm2020 ~]$ psql -h 192.168.1.21 -d test -U postgres -p 5432
psql: FATAL: no pg_hba.conf entry for host "192.168.1.21", user "postgres", database "test" [root@mm2020 ~]# service postgresql restart
Restarting PostgreSQL: ok [postgres@mm2020 ~]$ cat $PGDATA/pg_hba.conf | grep trust
host all all 0.0.0.0/0 trust
[postgres@mm2020 ~]$ psql -h 192.168.1.21 -d test -U postgres -p 5432
psql (9.6.0)
Type "help" for help. test=# \q
[postgres@mm2020 ~]$
先测试到这里。
至此,PG单实例测试完成。
如有转载,请标明出处。
Linux(Redhat 7.6)安装PG(Postgresql 9.6.0)的更多相关文章
- Oracle安装部署之linux(redhat/centos)快速安装oracle 11g rac
安装oracle 11gR2 RAC 一.网络规划及安装虚拟主机 主机名 主机版本 Ip rac1.localdomain Redhat 6.5 RAC节点1 192.168.100.11 rac2. ...
- linux redhat下oracle11G安装
首先由于使用的是虚拟机,所有要修改ip 在LINUX下修改IP分为二种情况, 1.调试时修改IP,仅在当前生效,重启后恢复为原有IP ifconfig eth0 192.168.63.27 netma ...
- Linux redhat ICE环境安装
1.安装64位redhat6.4操作系统(客户机为64位)为软件开发工作站模式. 2.卸载yum源,重新安装为免费的CentOS6.4 yum源(yum能解决软件安装中的包依赖问题,redhat 未注 ...
- Linux(Redhat)下redis安装
原文:http://www.javaweb1024.com/data/NoSQL/2015/06/29/785.html redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系 ...
- 在 Linux RedHatEL6 环境下安装配置 JDK1.7 + Tomcat7.0 + MySQL5.6
RedHatEL6 JDK安装路径: /usr/java/jdk1.7 Tomcat安装路径:/usr/local/tomcat7/ MySQL安装路径: /usr/local/mysql 总共分为以 ...
- Linux中基于hadoop安装hive(CentOS7+hadoop2.8.0+hive2.1.1)
http://blog.csdn.net/pucao_cug/article/details/71773665
- Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)
本文主要描写叙述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g開始,Oracle官方站点不再提供其Patch的下载链接,须要使用Meat ...
- 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)
[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...
- 关于RedHat Linux无法使用yum命令安装gcc-c++问题
初入职场,在给RedHat Linux安装环境的时候遇到这么个问题. 参考:http://www.linuxidc.com/Linux/2017-08/146548.htm [root@localho ...
- Linux Redhat 安装免费yum源
Linux Redhat 安装免费yum源 出处地址:http://www.cnblogs.com/nbartchen/p/8565816.html 1.查看是否安装相关包 rpm -qa|grep ...
随机推荐
- window系统多用户登录软件——ASTER——终端共享器——网络终端机
Windows系统除了Server版其他的都是单用户系统,但是其实Windows系统都是内置支持多用户的,只不过除了Server版本以外的系统版本都是将多用户登录功能屏蔽掉了,如果我们可以解除掉win ...
- 华为超算平台git、cmake、wget、curl报错:SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference——解决方法
最近在使用超算平台时报错,不管是git.cmake.wget.curl中的哪个都报错,大致错误: /usr/bin/cmake3: relocation error: /usr/lib64/libcu ...
- PIL 和 python-opencv 从内存字节码中读取图片并转为np.array格式
把某个RGB格式的图片以字节码的形式读入到内存中,然后使用PIL 和 CV2 来进行读写,并转成np.array 格式. 代码: from PIL import Image import cv2 im ...
- ubuntu系统grub修复(win+ubuntu双系统环境),修复无法启动问题 boot-repair
相关: https://help.ubuntu.com/community/Boot-Repair ================================================== ...
- 文本相似度 HanPL汉语言处理
@ 目录 前言 需求 简介 实操开始 1. 添加pom.xml依赖 2. 文本相似度工具类 3. 案例验证 4. 验证结果 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示 ...
- 由浅深入理解java多线程,java并发,synchronized实现原理及线程锁机制
由浅深入理解java多线程,java并发,synchronized实现原理及线程锁机制 目录 由浅深入理解java多线程,java并发,synchronized实现原理及线程锁机制 一,线程的生命周期 ...
- MySQL 优化慢查询
查询以SELECT 语句的形式执行数据库中的所有查找操作.调整这些语句是重中之重,无论是实现动态网页的亚秒响应时间,还是缩短数小时生成大量夜间报告的时间. 此外SELECT语句,进行查询调谐技术也适用 ...
- 通过 C# 将数据写入到Excel表格
Excel 是一款广泛应用于数据处理.分析和报告制作的电子表格软件.在商业.学术和日常生活中,Excel 的使用极为普遍.本文将详细介绍如何使用免费.NET库将数据写入到 Excel 中,包括文本.数 ...
- C#二叉搜索树算法
二叉搜索树算法实现原理 二叉搜索树(Binary Search Tree,简称BST)是一种节点有序排列的二叉树数据结构.它具有以下性质: 每个节点最多有两个子节点. 对于每个节点,其左子树的所有节点 ...
- Win32 ListCtrl控件点击列标题排序
1.在WM_NOTIFY消息中捕获鼠标点点击列的索引 int MyMainDialog::OnNotify(NMHDR* pNMhdr) { if (pNMhdr->idFrom == IDC_ ...