千家信息网

PostgreSQL 10.12本地RPM安装的方法是什么

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"PostgreSQL 10.12本地RPM安装的方法是什么",在日常操作中,相信很多人在PostgreSQL 10.12本地RPM安装的方法是什么问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2025年11月07日PostgreSQL 10.12本地RPM安装的方法是什么

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

二、 本地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 postgresChanging password for user postgres.New password: BAD PASSWORD: The password contains the user name in some formRetype new password: passwd: all authentication tokens updated successfully.

本地安装PostgreSQL 10.12:

[root@open_source ~]# ls -rtltotal 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.rpmwarning: postgresql10-libs-10.12-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEYPreparing...                          ################################# [100%]Updating / installing...   1:postgresql10-libs-10.12-1PGDG.rhe################################# [100%] [root@open_source ~]# rpm -ivh postgresql10-10.12-1PGDG.rhel7.x86_64.rpmwarning: postgresql10-10.12-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEYPreparing...                          ################################# [100%]Updating / installing...   1:postgresql10-10.12-1PGDG.rhel7   ################################# [100%] [root@open_source ~]# rpm -ivh postgresql10-server-10.12-1PGDG.rhel7.x86_64.rpmwarning: postgresql10-server-10.12-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEYPreparing...                          ################################# [100%]Updating / installing...   1:postgresql10-server-10.12-1PGDG.r################################# [100%] 检查安装是否成功:[root@open_source ~]# rpm -qa|grep postgresql10postgresql10-10.12-1PGDG.rhel7.x86_64postgresql10-libs-10.12-1PGDG.rhel7.x86_64postgresql10-server-10.12-1PGDG.rhel7.x86_64

初始化数据库:

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

检查配置:

[root@open_source ~]# cat /usr/lib/systemd/system/postgresql-10.service | egrep -v "^$|^#"[Unit]Description=PostgreSQL 10 database serverDocumentation=https://www.postgresql.org/docs/10/static/After=syslog.targetAfter=network.target[Service]Type=notifyUser=postgresGroup=postgresEnvironment=PGDATA=/var/lib/pgsql/10/data/OOMScoreAdjust=-1000Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adjEnvironment=PG_OOM_ADJUST_VALUE=0ExecStartPre=/usr/pgsql-10/bin/postgresql-10-check-db-dir ${PGDATA}ExecStart=/usr/pgsql-10/bin/postmaster -D ${PGDATA}ExecReload=/bin/kill -HUP $MAINPIDKillMode=mixedKillSignal=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 5432Feb 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 5432Feb 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...rocessFeb 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 greppostgres  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 startwaiting for server to start....2020-02-23 18:04:33.686 EST [12823] LOG:  listening on IPv4 address "127.0.0.1", port 54322020-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 process2020-02-23 18:04:33.693 EST [12823] HINT:  Future log output will appear in directory "log". doneserver started[postgres@open_source bin]$ ./pg_ctl statuspg_ctl: server is running (PID: 12823)/usr/pgsql-10/bin/postgres [postgres@open_source bin]$ ps -ef|grep postgre |grep -v greproot      12800   9637  0 18:04 pts/0    00:00:00 su - postgrespostgres  12801  12800  0 18:04 pts/0    00:00:00 -bashpostgres  12823      1  0 18:04 pts/0    00:00:00 /usr/pgsql-10/bin/postgrespostgres  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=5432export PGHOST=open_sourceexport PGHOME=/usr/pgsql-10/export PGDATA=/home/postgres/dataexport.utf8export LD_LIBRARY_PATH=/usr/pgsql-10/libexport PATH=$PGHOME/bin:/usr/bin:/usr/sbin:/sbin:$PATHexport MANPATH=$PGHOME/share/man:$MANPATHexport PGUSER=postgresexport PGDATABASE=postgres

创建数据库:

[postgres@open_source ~]$ initdb -D $PGDATAThe 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 ... okcreating subdirectories ... okselecting default max_connections ... 100selecting default shared_buffers ... 128MBselecting default timezone ... America/New_Yorkselecting dynamic shared memory implementation ... posixcreating configuration files ... okrunning bootstrap script ... okperforming post-bootstrap initialization ... oksyncing data to disk ... ok WARNING: enabling "trust" authentication for local connectionsYou 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 ~]$ psqlpsql: 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 -rtltotal 56drwx------ 2 postgres postgres     6 Feb 23 16:51 pg_commit_ts-rw------- 1 postgres postgres     3 Feb 23 16:51 PG_VERSIONdrwx------ 2 postgres postgres     6 Feb 23 16:51 pg_twophasedrwx------ 2 postgres postgres     6 Feb 23 16:51 pg_tblspcdrwx------ 2 postgres postgres     6 Feb 23 16:51 pg_snapshotsdrwx------ 2 postgres postgres     6 Feb 23 16:51 pg_serialdrwx------ 2 postgres postgres     6 Feb 23 16:51 pg_replslotdrwx------ 4 postgres postgres    36 Feb 23 16:51 pg_multixactdrwx------ 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.confdrwx------ 2 postgres postgres    18 Feb 23 16:51 pg_xactdrwx------ 3 postgres postgres    60 Feb 23 16:51 pg_waldrwx------ 2 postgres postgres    18 Feb 23 16:51 pg_subtransdrwx------ 2 postgres postgres  4096 Feb 23 16:51 globaldrwx------ 5 postgres postgres    41 Feb 23 16:51 base-rw------- 1 postgres postgres    58 Feb 23 17:07 postmaster.optsdrwx------ 2 postgres postgres    18 Feb 23 17:07 pg_notifydrwx------ 2 postgres postgres    32 Feb 23 17:07 log-rw------- 1 postgres postgres    30 Feb 23 17:07 current_logfilesdrwx------ 4 postgres postgres    68 Feb 23 18:03 pg_logicaldrwx------ 2 postgres postgres     6 Feb 23 18:03 pg_stat_tmpdrwx------ 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 startwaiting for server to start....2020-02-23 18:40:17.588 EST [13271] LOG:  listening on IPv4 address "0.0.0.0", port 54322020-02-23 18:40:17.588 EST [13271] LOG:  listening on IPv6 address "::", port 54322020-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 process2020-02-23 18:40:17.595 EST [13271] HINT:  Future log output will appear in directory "log". doneserver started[postgres@open_source data]$ psqlpsql (10.12)Type "help" for help. postgres=#

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

0