参考知乎: https://zhuanlan.zhihu.com/p/81814954
一, 下载源码包; 编译; 安装
- 官网下载源码包: https://www.postgresql.org/ftp/source/, xxxx.tar.gz 放在 /usr/local/src 文件夹下
解压:tar -zxvf xxxx.tar.gz
-
查看INSTALL和README
INSTALL: 该文件中说明了安装步骤
- configure: 该文件用于检测系统环境
# --prefix用于指定软件安装位置
$ ./configure --prefix=/usr/local/pgsql
error1:
$ yum install readline
$ yum install readline-devel -y
error2:
$ yum install zlib-devel -y
-
make
需要几分钟 -
make install
安装
二, 创建postgres用户和data文件夹
- 创建postgres用户
$ useradd postgres # /home目录下有postgres文件夹
# INSTALL中用的是: adduser /home目录无postgres文件夹
- 创建data文件并修改权限
$ cd /usr/local/pgsql # ./configure --prefix=...
mkdir data
chown postgres data
- 配置环境变量
编辑postgres家目录下的.bashrc文件
PGHOME=/usr/local/pgsql
export PGHOME
PGDATA=$PGHOME/data
export PGDATA
PATH="$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin"
export PATH
# 启用配置文件
source .bashrc
- 初始化数据库并设置postgres用户密码
# 初始化数据库:
$ initdb
# 启动数据库:
$ pg_ctl start
# 设置postgres用户密码
$ psql -U postgres
\password # 注: 密码不要过于简单, 不然易被网上挖矿程序入侵服务器. 毕竟有一堆人使用该账户: 用户名postgres 密码postgres.
# 退出
\q
附:
postgres用户密码过于简单的下场:
三, 设置远程连接
$ cd /usr/local/pgsql/data
$ vim pg_hba.conf
# IPv4 local connections:
host all all 0.0.0.0/0 trust
$ vim postgresql.conf
listen_addresses = '*'
port = 5432
# 重启PostgreSQL服务:
$ pg_ctl restart
四, 创建用户; 数据库
$ psql -U postgres
CREATE USER zhiyuan WITH PASSWORD '******';
CREATE DATABASE demo;
GRANT ALL PRIVILEGES ON DATABASE demo TO zhiyuan;
\q