环境规划:
- 操作系统:CentOS 7.9 64bit
- 安装用户:postgres
- 软件安装路径:/usr/local/pgsql
- 数据库数据目录:/pgdata
安装PostgreSQL软件
1、前置检查:
make --version # 版本需要大于等于3.8
rpm -aq |grep readline # 应该已经提前安装了readline-devel、readline。
2、以root用户,创建用户和属主:
groupadd postgres
useradd -g postgres postgres
passwd postgres
#设置用户新口令
3、以root用户,创建软件安装目录和数据库数据目录,并授权:
mkdir -p /usr/local/pgsql
chown -R postgres:postgres /usr/local/pgsql
mkdir -p /pgdata
chown -R postgres:postgres /pgdata
3、选择需要下载的源代码
4、以postgres用户,下载,并源代码方式安装(软件安装目录为默认的/usr/local/pgsql):
wget https://ftp.postgresql.org/pub/source/v13.4/postgresql-13.4.tar.gz
tar -xvf postgresql-13.4.tar.gz; cd postgresql-13.4;
./configure #(--prefix=默认为/usr/local/pgsql)
make
make install
其中configure的选项可以参阅:https://www.postgresql.org/docs/current/install-procedure.html#CONFIGURE-OPTIONS
4、配置环境变量。以postgres用户,编辑~/.bash_profile,增加以下两行配置环境变量:
export PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
除postgres用户外,该服务器上其他需要使用postgreSQL软件(如客户端)的用户,也应该配置以上环境变量。
初始化数据库
1、以postgres用户,指定数据库数据目录,初始化数据库
initdb -D /pgdata
初始化后,该目录内容如下:
2、由于postgresql.conf文件是PG服务端的主配置文件。修改自动生成的/pgdata/postgresql.conf文件如下,监听本地所有网卡
3、由于pg_hba.conf文件是基于主机的客户端认证配置文件。修改自动生成的/pgdata/pg_hba.conf文件,对IPv4下面的ADDRESS配置修改如下,允许通过网络访问。
4、以postgres用户,启动数据库:
pg_ctl start -D /pgdata
#若停止,则:
pg_ctl stop -D /pgdata [-m SHUTDOWN-MODE]
# SHUTDOWN-MODE: 有smart、fast、immediate三种选项(比较常用是fast)。
5、以postgres用户,执行以下psql命令登录数据库(这里以操作系统本地用户进程通信方式进行认证,所以无需密码)。登录成功后查看包含的数据库(逻辑数据库)应该有三个:
6、也可以在其他机器上,通过客户端远程登录: