DB-hub Technology PostgreSQL安装
PostgreSQL安装
1.配置环境
- 创建用户
root登录
useradd postgres
passwd postgres
- 创建软件安装目录,数据和日志存储目录(数据库cluster目录)
mkdir -p /opt/pg.13.0
mkdir -p /opt/pgdata
- 设置权限
chown -R postgres:postgres /opt/pg.13.0
chown -R postgres:postgres /opt/pgdata
- 环境变量
su postgres
vi .bash_profile
export PGHOME=/opt/pg.13.0
export PGDATA=/opt/pgdata
export PATH=PGHOME/bin:PATH
export LANG=en_US.UTF-8
export LD_LIBRARY_PATH=PGHOME/lib:LD_LIBRARY_PAT
export PGUSER=postgres
export PGPORT=5432
export PS1='[\u@\h:`pwd`]'
source .bash_profile
- postgres添加sudo权限
sudo是Linux系统管理命令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具。Linux系统下,为了安全,一般的操作都是在普通用户下执行,但是有时候普通用户需要使用root权限,比如在DBA安装数据库软件的时候。这个时候如果来回切换到root用户会比较麻烦,用sudo命令会很方便。实际上,除了UNIX系统管理员,DBA或者普通用户是不知道root用户的密码的。
进入root用户:
添加文件写权限:
chmod u+w /etc/sudoers
编辑/etc/sudoers,增加一行: 用户名 ALL=(ALL) ALL,保存退出
vi /etc/sudoers
postgres ALL=(ALL) NOPASSWD:ALL
撤销写权限:
chmod u-w /etc/sudoers
2.源码下载
https://www.postgresql.org/ftp/source/v13.0/
拷贝到 postgres home目录
3.编译环境准备
- gcc g++
sudo yum -y install gcc.x86_64
sudo yum -y install gcc-c++.x86_64 gcc.x86_64
- make
sudo yum install -y make.x86_64 make-devel.i686 make-devel.x86_64
- ncurses-devel
rpm -qa|grep ncurses-devel
sudo yum install ncurses-devel
- readline-devel zlib-devel
sudo yum install -y readline-devel zlib-devel
4.编译安装
- 解压源码包
tar -zxvf postgresql-13.0.tar.gz
- 编译
./configure --prefix=/opt/pg.13.0
sudo make
sudo make install
5.初始化数据库
1. 初始化
initdb
2. 启动
pg_ctl -D /opt/pgdata -l logfile start
netstat -nltp |grep 5432
3. 停止
pg_ctl -D /opt/pgdata -l logfile stop
6.配置数据库
1. 配置系统服务(开机启动)
- 将Linux文件复制到 /etc/init.d 目录下,重名为postgresql
cd /home/postgres/postgresql-13.0/contrib/start-scripts
chmod a+x linux
sudo cp linux /etc/init.d/postgresql
- 修改postgresql文件
cd /etc/init.d
sudo vi postgresql
这一行,取消注解:chkconfig –add postgresql //设置服务开机启动
prefix设置为postgresql的安装路径, 即PGHOME:/opt/pg.13.0
PGDATA设置为postgresql的数据目录路径, 即PGDATA:/opt/pgdata
PGUSER设置为postgresql的用户:postgres
PGLOG 设置为 postgresql 的数据目录的日志文件夹下:$PGDATA/serverlog
保存,退出
sudo systemctl enable postgresql //启用开机启动服务
- 重启机器测试
sudo systemctl status postgresql
sudo systemctl restart postgresql
sudo systemctl stop postgresql
sudo systemctl start postgresql
2. 创建数据库
createdb test
3. 配置远程连接
1)新安装的数据库默认只监听来自本地的连接,需要修改配置文件$PGDATA/postgresql.conf
cd $PGDATA
cp postgresql.conf postgresql.conf.20201112
vi postgresql.conf
修改:
listen_addresses = '*'
2) 修改配置文件$PGDATA/pg_hba.conf
3) 重启postgresql服务
sudo systemctl restart postgresql
4)连接测试