PostgreSql—部署安装

1、概念简介

2、部署安装

2.1、安装过程

  • 准备工作

安装包下载:
A:源码包:https://www.postgresql.org/ftp/source/
这里使用的是15.4版本的安装包;

在这里插入图片描述

创建操作系统用户:

groupadd postgres
useradd postgres
passwd postgres
  • 安装步骤

1)将压缩包上传到 /sostware/
2)解压:tar -zxvf postgresql-15.4.tar.gz,解压后文件夹为 /software/postgresql-15.4
3)创建安装目录
mkdir -p /software/PostgreSql
4)安装依赖包
yum install -y gcc gcc-c++ zlib-devel zlib-devel

说明:此处如果确实对应的依赖包,下一步的编译安装会报错;

5)编译安装

cd /software/postgresql-15.4
# 安装路径配置,依赖包检查
./configure --prefix=/software/PostgreSql

# 源码编译,world是相关扩展全部打包
make world

# 安装对应的文件到指定路劲
make install-world

6)创建数据目录
mkdir -p /software/PostgreSql/pg_data
7)调整文件夹属主
chown postgres:postgres -R /software/PostgreSql
调整后/software/PostgreSql目录结构:

drwxr-xr-x 2 postgres postgres 4096 Jun 26 16:35 bin
drwxr-xr-x 4 postgres postgres 4096 Jun 26 16:35 include
drwxr-xr-x 4 postgres postgres 4096 Jun 26 16:35 lib
drwxrwxr-x 2 postgres postgres    6 Jun 26 16:40 pg_data
drwxr-xr-x 5 postgres postgres   46 Jun 26 16:35 share

8)初始化数据库
su - postgres
/software/PostgreSql/bin/initdb -D /software/PostgreSql/pg_data/
输出如下信息代表成功:

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 /software/PostgreSql/pg_data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

initdb: 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:

    /software/PostgreSql/bin/pg_ctl -D /software/PostgreSql/pg_data/ -l logfile start

9)按照提示启动服务
/software/PostgreSql/bin/pg_ctl -D /software/PostgreSql/pg_data/ -l logfile start
输出信息:

waiting for server to start.... done
server started

2.2、环境配置

  • 添加环境变量
    在 postgres 操作系统的 .bash_profile 下添加如下配置:

vim ~/bash_profile

# add postgres conffig
export PGHOME=/software/PostgreSql
export PGDATA=$PGHOME/pg_data
export PATH=$PATH:$PGHOME/bin

配置生效:source ~/bash_profile

验证结果:
echo $PGDATA

  • 验证登录
[postgres@pg-db-server ~]$ psql
psql (13.6)
Type "help" for help.

postgres=# 

说明:此处如果没有提前配置环境变量,则该指令需要全路劲执行;

  • 日志监听配置
    方式一:直接数据库上执行
alter system set logging_collector=on;
alter system set log_directory='pg_log';
alter system set listen_addresses='*';

方式二:修改配置文件,重启服务
也可以修改数据目录下的postgresql.conf配置文件,加入如下内容:

logging_collector = on
log_directory = 'pg_log'
listen_addresses = '*'

重启服务:
pg_ctl restart -D $PGDATA

参数验证:

show logging_collector;
show log_directory;
show listen_addresses;
  • 远程访问配置

PG默认是禁止远程访问的,开启远程访问涉及到两个文件:postgresql.conf、pg_hba.conf,都在数据目录下;
前者可能需要修改listen_addresses参数为’*'(默认一般为localhost),也就是说在主机所有的IP上都监听。
而pg_hba.conf用来配置哪些远程IP可以使用什么样的方式来访问数据库,默认远程访问是全部关闭的,这有点类似于Oracle的sqlnet.ora中的黑白名单设置。

添加如下记录,允许远程访问:

# add new rule
host    all             all             0.0.0.0/0               md5

此处配置完同样需要重启服务:
pg_ctl restart -D $PGDATA

  • 密码修改
postgres=# 
postgres=# select current_user;
 current_user 
--------------
 postgres
(1 row)

postgres=# 
postgres=# alter user postgres with password '$newpasswd';
ALTER ROLE
postgres=# 

说明:此处修改了postgres 管理员密码,可以远程登录时候使用;

============================================ over ============================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值