环境说明:
1. 操作系统
2. 必须的依赖工具库
2.1 make版本3.80或以上
2.2 GCC编译器
2.3 GNU Readline库:它允许psql记住你输入的每个命令,这样就可以通过上下方向键快速输入之前的命令,默认开启,也可以通过编译参数--without-readline来禁止它,建议保留默认。
2.4 Zlib库
3. 下载源码包,下载地址
4. 开始安装
4.1 基础依赖安装
sudo yum install -y readline readline-devel openssl openssl-devel zlib zlib-devel
4.2 生成makefile文件
./configure --prefix=/home/linjk/usr/postgresql
成功:
4.3 编译 : make
4.4 安装 : make install
4.5 配置环境变量 (vim ~/.bash_profile)
(为了统一,后面改为PGHOME,这就不重新截图了)
4.6 目录授权
mkdir /home/linjk/usr/postgresql/data
sudo chown -R linjk:linjk /home/linjk/usr/postgresql/
4.7 初始化数据库
看看数据文件夹目录:
base目录是表空间目录,global目录是相关全局变量目录, pg_hba.conf是访问控制配置文件,postgresql.conf是postgresql主配置文件。
修改pg_hba.conf:
修改为如下(0.0.0.0/0表示信任来自所有id连接的客户端,加密方式才有md5):
修改postgresql.conf:
localhoat改为*,表示监听所有网络连接。
连接参数保持默认:
4.8 防火墙开放端口
sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
4.9 启动
4.10
在4.7步初始化数据库时,提示了启动方式,注意有一个logfile,这里在安装目录增加一个文件夹log,用来记录日志:
启动:
关闭:
pg_ctl -D /home/linjk/usr/postgresql/data/ -l /home/linjk/usr/postgresql/log/server.log stop
4.11 配置
这里使用psql命令行交互式客户端工具去连接postgresql,它类似与Oracle的命令行工具sqlplus,也可以使用图形交互界面pgAdmin4,后面会介绍如何安装。连接数据库的格式:
psql -h {主机名或IP地址} -p {端口} {数据库名称} {用户名称}
这些参数也可以通过环境变量指定:
PGDATABASE、PGHOST、PGPORT、PGUSER
指定了环境变量,后面直接运行psql命令即可直接连接指定的数据库。
连接时提示如下错误:
为什么会出现这个错误?因为在安装PostgreSQL时,会建立一个与初始化数据库时擦用户名的同名数据库用户,同时,这个用户就是数据库的超级用户,在这个用户登录时执行的是操作系统认证,所以不需要用户名和密码(如也需密码认证,可修改文件pg_hba.conf),之前用的linjk用户初始化,没有建立数据库linjk,因此,这里首先新建一个linjk名称的数据库。
创建一个名为linjk的数据库:
再次连接可登录成功,注意,此时密码为空,需要设置密码,输入\password可设置密码(psql的命令以斜杠'\'开头):
输入\l可以查看所有数据库列表:
template0和template1是模板数据库,用户在建数据库时,默认从模板数据库template1克隆出来的,因此,我们可以定制template1数据库中的内容,如增加公共的表或函数,这样后续创建的新库也有拥有这些表或函数,相比于template1数据库,template0数据库是最简化的数据库。
输入\d可查看数据库中的所有表。
输入\c {数据库名} 可切换当前使用的使用数据库。
输入\q可退出登陆。
--------------------------------------------------------------------------------------------------------------------
4.12 安装Web管理工具pgAdmin4
A. 下载
注意,服务器需要有python环境,linux服务器一般都默认安装了python和pip了
B. 安装
sudo pip install --upgrade pip
sudo pip install pgadmin4-3.0-py2.py3-none-any.whl
报错:
sudo yum install -y python-devel
再次安装,成功:
C. 配置
cd /usr/lib/python2.7/site-packages/pgadmin4
sudo python pgAdmin4.py
配置账号信息:
这样应该后台方式启动: sudo python pgAdmin4.py &
D 登陆
E 添加数据库监控
点击"Add New Server",输入pg数据库的连接信息即可:
F 数据库添加扩展,以dblink为例
在弹出的窗口中没有任何扩展,需要安装:
进入postgresql源码目录,如下:
注意,事先在源码根目录configure过生成makefile及make过一次的。
执行make和make install:
在pg的安装目录下的lib子目录生成dblink的动态链接库dblink.so:
这时候在pgAdmin4管理页面就能选择到dblink扩展了: