如何使用yum部署PostgreSQL 10?
- By : Will
- Category : PostgreSQL, 数据库
- Tags: CentOS, CentOS7, PostgreSQL, yum
1 基础知识
1.1 PostgreSQL简介
PostgreSQL是一个功能强大的开源对象关系数据库系统,经过30多年的积极开发,具有良好的可靠性、强大的功能和优良的性能。
PostgreSQL是Berkeley开源代码的后代,它支持大部分SQL标准。
1.2 PostgreSQL的特点
– 高度靠性
– 考度可扩展性(支持自定义数据类型、函数和不同的编程语言代码而无需编译)
1.3 PostgreSQL的架构
2 最佳实践
2.1 系统的配置
2.1.1 基本配置
IP Address = 10.168.0.103
OS = CentOS 7.6 x86_64
HostName = postgresql.cmdschool.org
2.1.2 安装常用工具
yum install -y vim
2.1.3 升级系统
yum -y update
执行完升级之后,重启操作系统,
reboot
2.1.4 防火墙配置(可选)
firewall-cmd --permanent --add-service postgresql firewall-cmd --reload firewall-cmd --list-all
2.2 软件环境配置
2.2.1 配置yum源
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
注:其他版本的源请参考以下链接,
https://yum.postgresql.org/repopackages.php
2.2.2 检查yum源
yum search postgresql10
可见如下提示,
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras: mirrors.aliyun.com * updates: mirrors.163.com ==================================== N/S matched: postgresql10 ===================================== postgresql10-debuginfo.x86_64 : Debug information for package postgresql10 postgresql10-tcl-debuginfo.x86_64 : Debug information for package postgresql10-tcl postgresql10.x86_64 : PostgreSQL client programs and libraries postgresql10-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL postgresql10-devel.x86_64 : PostgreSQL development header files and libraries postgresql10-docs.x86_64 : Extra documentation for PostgreSQL postgresql10-libs.x86_64 : The shared libraries required for any PostgreSQL clients postgresql10-odbc.x86_64 : PostgreSQL ODBC driver postgresql10-plperl.x86_64 : The Perl procedural language for PostgreSQL postgresql10-plpython.x86_64 : The Python procedural language for PostgreSQL postgresql10-pltcl.x86_64 : The Tcl procedural language for PostgreSQL postgresql10-server.x86_64 : The programs needed to create and run a PostgreSQL server postgresql10-tcl.x86_64 : A Tcl client library for PostgreSQL postgresql10-test.x86_64 : The test suite distributed with PostgreSQL Name and summary matches only, use "search all" for everything.
2.3 安装PostgreSQL包
2.3.1 安装PostgreSQL服务端
yum install -y postgresql10-server
2.3.2 检查安装的软件包
rpm -qa *postgresql*
显示如下:
postgresql10-10.6-1PGDG.rhel7.x86_64 postgresql10-libs-10.6-1PGDG.rhel7.x86_64 postgresql10-server-10.6-1PGDG.rhel7.x86_64
2.4 配置PostgreSQL
2.4.1 配置环境变量
echo 'export PGSQL_HOME=/usr/pgsql-10' > /etc/profile.d/pgsql.sh echo 'export PATH=${PGSQL_HOME}/bin:$PATH' >> /etc/profile.d/pgsql.sh source /etc/profile
2.4.2 初始化数据库
postgresql-10-setup initdb
如果没有意外,则显示以下信息,
Initializing database ... OK
2.4.3 启动服并配置服务自启动
systemctl start postgresql-10.service systemctl enable postgresql-10.service
其他的服务控制命令,请参考如下指令,
systemctl status postgresql-10.service systemctl reload postgresql-10.service systemctl restart postgresql-10.service systemctl stop postgresql-10.service
2.4.4 检查服务的启动
netstat -antp | grep postmaster
其他的服务控制命令,请参考如下指令,
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 16801/postmaster tcp6 0 0 ::1:5432 :::* LISTEN 16801/postmaster
注:以上可知该服务使用的端口是“5432/tcp”且只有本机可访问
亦可以进程的方式查看,
pgrep -a postmaster
其他的服务控制命令,请参考如下指令,
16801 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data/ 16803 postgres: logger process 16805 postgres: checkpointer process 16806 postgres: writer process 16807 postgres: wal writer process 16808 postgres: autovacuum launcher process 16809 postgres: stats collector process 16810 postgres: bgworker: logical replication launcher
注:以上可知数据目录为“/var/lib/pgsql/10/data/”
2.4.5 检查服务的版本
psql -V
可见如下显示,
psql (PostgreSQL) 10.6
2.5 连接到PostgreSQL
2.5.1 切换到PostgreSQL用户
su - postgres
2.5.2 登录到PostgreSQL
psql
显示如下,
psql (10.6) Type "help" for help. postgres=#
注:以上证明你处于PostgreSQL提示符环境
2.5.3 显示当前的数据库
\l
数据库显示如下,
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows)
2.5.4 获取帮助
\h
2.5.5 退出PostgreSQL登录
\q
2.6 配置TCP/IP用户登录
2.6.1 修改管理员密码
su - postgres psql \password
2.6.2 开启协议的连接方式
vim /var/lib/pgsql/10/data/postgresql.conf
加入如下配置:
listen_addresses = '*' port = 5432 password_encryption = md5
重启服务使配置生效,
systemctl restart postgresql-10.service
2.6.3 配置用户连接权限
vim /var/lib/pgsql/10/data/pg_hba.conf
加入如下配置:
# IPv4 local connections: host all all 0.0.0.0/0 md5
重载使服务生效,
systemctl reload postgresql-10.service
参阅文档
==============
简介页面
———-
https://www.postgresql.org/about/
下载页面
———
https://yum.postgresql.org/repopackages.php
https://www.postgresql.org/download/
安装页面
——–
https://www.postgresql.org/download/linux/redhat/
使用文档
——–
https://www.postgresql.org/docs/10/index.html
https://www.postgresql.org/docs/
没有评论