资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

PostgreSQL10.12本地RPM安装的方法是什么

这篇文章主要介绍“PostgreSQL 10.12本地RPM安装的方法是什么”,在日常操作中,相信很多人在PostgreSQL 10.12本地RPM安装的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL 10.12本地RPM安装的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为茂南企业提供专业的成都网站建设、网站建设,茂南网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

二、    本地RPM安装

本地RPM包下载地址

https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7.7-x86_64/

找到如下两个包下载即可:

postgresql10-10.12-1PGDG.rhel7.x86_64.rpm

postgresql10-server-10.12-1PGDG.rhel7.x86_64.rpm

创建用于管理PG的用户和组:

[root@open_source ~]# groupadd postgres
[root@open_source ~]# useradd -g postgres postgres
[root@open_source ~]# passwd postgres
Changing password for user postgres.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.

本地安装PostgreSQL 10.12:

[root@open_source ~]# ls -rtl
total 6632
-rw-r--r-- 1 root root    6048 Feb 23 15:47 pgdg-redhat-repo-latest.noarch.rpm
-rw-r--r-- 1 root root 1657936 Feb 23 16:14 postgresql10-10.12-1PGDG.rhel7.x86_64.rpm
-rw-r--r-- 1 root root 4753176 Feb 23 16:14 postgresql10-server-10.12-1PGDG.rhel7.x86_64.rpm
-rw-r--r-- 1 root root  365156 Feb 23 16:23 postgresql10-libs-10.12-1PGDG.rhel7.x86_64.rpm
 
[root@open_source ~]# rpm -ivh postgresql10-libs-10.12-1PGDG.rhel7.x86_64.rpm
warning: postgresql10-libs-10.12-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:postgresql10-libs-10.12-1PGDG.rhe################################# [100%]
 
[root@open_source ~]# rpm -ivh postgresql10-10.12-1PGDG.rhel7.x86_64.rpm
warning: postgresql10-10.12-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:postgresql10-10.12-1PGDG.rhel7   ################################# [100%]
 
[root@open_source ~]# rpm -ivh postgresql10-server-10.12-1PGDG.rhel7.x86_64.rpm
warning: postgresql10-server-10.12-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:postgresql10-server-10.12-1PGDG.r################################# [100%]
 
检查安装是否成功:
[root@open_source ~]# rpm -qa|grep postgresql10
postgresql10-10.12-1PGDG.rhel7.x86_64
postgresql10-libs-10.12-1PGDG.rhel7.x86_64
postgresql10-server-10.12-1PGDG.rhel7.x86_64

初始化数据库:

[root@open_source ~]# /usr/pgsql-10/bin/postgresql-10-setup initdb
Initializing database ... OK

检查配置:

[root@open_source ~]# cat /usr/lib/systemd/system/postgresql-10.service | egrep -v "^$|^#"
[Unit]
Description=PostgreSQL 10 database server
Documentation=https://www.postgresql.org/docs/10/static/
After=syslog.target
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
Environment=PGDATA=/var/lib/pgsql/10/data/
OOMScoreAdjust=-1000
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
Environment=PG_OOM_ADJUST_VALUE=0
ExecStartPre=/usr/pgsql-10/bin/postgresql-10-check-db-dir ${PGDATA}
ExecStart=/usr/pgsql-10/bin/postmaster -D ${PGDATA}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
 
TimeoutSec=0
[Install]
WantedBy=multi-user.target

启动数据库方法一:

[root@open_source ~]# systemctl start postgresql-10.service 
[root@open_source bin]# systemctl status postgresql-10
* postgresql-10.service - PostgreSQL 10 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-10.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-02-23 17:07:19 EST; 55min ago
     Docs: https://www.postgresql.org/docs/10/static/
  Process: 12481 ExecStartPre=/usr/pgsql-10/bin/postgresql-10-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 12486 (postmaster)
   CGroup: /system.slice/postgresql-10.service
           |-12486 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data/
           |-12488 postgres: logger process   
           |-12490 postgres: checkpointer process   
           |-12491 postgres: writer process   
           |-12492 postgres: wal writer process   
           |-12493 postgres: autovacuum launcher process   
           |-12494 postgres: stats collector process   
           `-12495 postgres: bgworker: logical replication launcher   
 
Feb 23 17:07:19 open_source systemd[1]: Starting PostgreSQL 10 database server...
Feb 23 17:07:19 open_source postmaster[12486]: 2020-02-23 17:07:19.702 EST [12486] LOG:  listening on IPv6 address "::1", port 5432
Feb 23 17:07:19 open_source postmaster[12486]: 2020-02-23 17:07:19.702 EST [12486] LOG:  listening on IPv4 address "127.0....t 5432
Feb 23 17:07:19 open_source postmaster[12486]: 2020-02-23 17:07:19.703 EST [12486] LOG:  listening on Unix socket "/var/ru....5432"
Feb 23 17:07:19 open_source postmaster[12486]: 2020-02-23 17:07:19.704 EST [12486] LOG:  listening on Unix socket "/tmp/.s....5432"
Feb 23 17:07:19 open_source postmaster[12486]: 2020-02-23 17:07:19.710 EST [12486] LOG:  redirecting log output to logging...rocess
Feb 23 17:07:19 open_source postmaster[12486]: 2020-02-23 17:07:19.710 EST [12486] HINT:  Future log output will appear in..."log".
Feb 23 17:07:19 open_source systemd[1]: Started PostgreSQL 10 database server.
Hint: Some lines were ellipsized, use -l to show in full.
 
[root@open_source ~]# ps -ef|grep -i postgres |grep -v grep
postgres  12486      1  0 17:07 ?        00:00:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data/
postgres  12488  12486  0 17:07 ?        00:00:00 postgres: logger process   
postgres  12490  12486  0 17:07 ?        00:00:00 postgres: checkpointer process   
postgres  12491  12486  0 17:07 ?        00:00:00 postgres: writer process   
postgres  12492  12486  0 17:07 ?        00:00:00 postgres: wal writer process   
postgres  12493  12486  0 17:07 ?        00:00:00 postgres: autovacuum launcher process   
postgres  12494  12486  0 17:07 ?        00:00:00 postgres: stats collector process   
postgres  12495  12486  0 17:07 ?        00:00:00 postgres: bgworker: logical replication launcher

启动数据库方法二:

[postgres@open_source ~]$ cd /usr/pgsql-10/bin/
[postgres@open_source bin]$ ./pg_ctl start
waiting for server to start....2020-02-23 18:04:33.686 EST [12823] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2020-02-23 18:04:33.687 EST [12823] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-02-23 18:04:33.688 EST [12823] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2020-02-23 18:04:33.693 EST [12823] LOG:  redirecting log output to logging collector process
2020-02-23 18:04:33.693 EST [12823] HINT:  Future log output will appear in directory "log".
 done
server started
[postgres@open_source bin]$ ./pg_ctl status
pg_ctl: server is running (PID: 12823)
/usr/pgsql-10/bin/postgres
 
[postgres@open_source bin]$ ps -ef|grep postgre |grep -v grep
root      12800   9637  0 18:04 pts/0    00:00:00 su - postgres
postgres  12801  12800  0 18:04 pts/0    00:00:00 -bash
postgres  12823      1  0 18:04 pts/0    00:00:00 /usr/pgsql-10/bin/postgres
postgres  12824  12823  0 18:04 ?        00:00:00 postgres: logger process  
postgres  12826  12823  0 18:04 ?        00:00:00 postgres: checkpointer process  
postgres  12827  12823  0 18:04 ?        00:00:00 postgres: writer process  
postgres  12828  12823  0 18:04 ?        00:00:00 postgres: wal writer process  
postgres  12829  12823  0 18:04 ?        00:00:00 postgres: autovacuum launcher process  
postgres  12830  12823  0 18:04 ?        00:00:00 postgres: stats collector process  
postgres  12831  12823  0 18:04 ?        00:00:00 postgres: bgworker: logical replication launcher  
postgres  12837  12801  0 18:05 pts/0    00:00:00 ps -ef

配置用户环境变量:

[postgres@open_source ~]$ vi .bash_profile 
 
export PGPORT=5432
export PGHOST=open_source
export PGHOME=/usr/pgsql-10/
export PGDATA=/home/postgres/data
export.utf8
export LD_LIBRARY_PATH=/usr/pgsql-10/lib
export PATH=$PGHOME/bin:/usr/bin:/usr/sbin:/sbin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export PGUSER=postgres
export PGDATABASE=postgres

创建数据库:

[postgres@open_source ~]$ 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.utf8".
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 /home/postgres/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... America/New_York
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 /home/postgres/data -l logfile start

登录数据库:

[postgres@open_source ~]$ psql
psql: could not connect to server: Connection refused
  Is the server running on host "open_source" (192.168.84.30) and accepting
  TCP/IP connections on port 5432?
 
[postgres@open_source ~]$ cd /var/lib/pgsql/10/data
[postgres@open_source data]$ ls -rtl
total 56
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_commit_ts
-rw------- 1 postgres postgres     3 Feb 23 16:51 PG_VERSION
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_twophase
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_tblspc
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_snapshots
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_serial
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_replslot
drwx------ 4 postgres postgres    36 Feb 23 16:51 pg_multixact
drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_dynshmem
-rw------- 1 postgres postgres 22992 Feb 23 16:51 postgresql.conf
-rw------- 1 postgres postgres    88 Feb 23 16:51 postgresql.auto.conf
-rw------- 1 postgres postgres  1636 Feb 23 16:51 pg_ident.conf
-rw------- 1 postgres postgres  4269 Feb 23 16:51 pg_hba.conf
drwx------ 2 postgres postgres    18 Feb 23 16:51 pg_xact
drwx------ 3 postgres postgres    60 Feb 23 16:51 pg_wal
drwx------ 2 postgres postgres    18 Feb 23 16:51 pg_subtrans
drwx------ 2 postgres postgres  4096 Feb 23 16:51 global
drwx------ 5 postgres postgres    41 Feb 23 16:51 base
-rw------- 1 postgres postgres    58 Feb 23 17:07 postmaster.opts
drwx------ 2 postgres postgres    18 Feb 23 17:07 pg_notify
drwx------ 2 postgres postgres    32 Feb 23 17:07 log
-rw------- 1 postgres postgres    30 Feb 23 17:07 current_logfiles
drwx------ 4 postgres postgres    68 Feb 23 18:03 pg_logical
drwx------ 2 postgres postgres     6 Feb 23 18:03 pg_stat_tmp
drwx------ 2 postgres postgres    25 Feb 23 18:03 pg_stat
 
[postgres@open_source data]$ echo listen_addresses = "'*'" >>  postgresql.conf
[postgres@open_source data]$ echo "host all all 192.xxx.xxx.xxx/32 trust" >> pg_hba.conf
 
[postgres@open_source data]$ pg_ctl start
waiting for server to start....2020-02-23 18:40:17.588 EST [13271] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2020-02-23 18:40:17.588 EST [13271] LOG:  listening on IPv6 address "::", port 5432
2020-02-23 18:40:17.589 EST [13271] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-02-23 18:40:17.589 EST [13271] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2020-02-23 18:40:17.595 EST [13271] LOG:  redirecting log output to logging collector process
2020-02-23 18:40:17.595 EST [13271] HINT:  Future log output will appear in directory "log".
 done
server started
[postgres@open_source data]$ psql
psql (10.12)
Type "help" for help.
 
postgres=#

到此,关于“PostgreSQL 10.12本地RPM安装的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享名称:PostgreSQL10.12本地RPM安装的方法是什么
文章URL:http://cdkjz.cn/article/pcsdpi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220