目录
Linux上安装PostgreSQL
下载安装包
安装数据库
安装依赖
解压压缩包并进入解压目录
编译安装
安装成功
初始化数据库
创建data目录
修改数据库主目录所属者
配置环境变量
initdb初始化数据库
验证登录
查看数据库进程
启动数据库服务
再次查看数据库进程
验证登录
打开PostgreSQL官网https://www.postgresql.org/,点击菜单栏上的Download,可以看到这里包含很多平台的安装包,包括Linux、Windows、MacOS等平台。
在源码包中file browser 链接可以下载各版本的PostgreSQL源码吗
在此,linux系统以Redhat为例,数据库版本选择10.6,使用源码安装
网址:https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz
根目录创建pgsql目录,并将安装包下载到pgsql目录
进入psql文件夹并下载
wget https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
如果一条安装命令执行失败,可以拆分成多条安装命令执行
[root@db01 pgsql]# tar -zxvf postgresql-10.6.tar.gz
[root@db01 pgsql]# cd postgresql-10.6/
[root@db01 postgresql-10.6]# ls
编译
[root@db01 postgresql-10.6]# ./configure --prefix=/pgsql/postgresql
PostgreSQL配置脚本选项
选项 描述
--prefix=prefix 安装到prefix指向的目录;默认为/usr/local/pgsql
--bindir=dir 安装应用程序到dir;默认为prefix/bin
--with-docdir=dir 安装文档到dir;默认为prefix/doc
--with-pgport=port 设置默认的服务器端网络连接服务TCP端口号
--with-tcl 为服务端提供Tcl存储过程支持
--with-perl 为服务端提供Perl存储过程支持
--with-python 为服务端提供Python存储过程支持
安装
编译成功后进行安装
[root@db01 postgresql-10.6]#make & make install
进入安装目录下可以看到安装后的postgresql文件夹
mkdir /pgsql/postgresql/data
将数据库安装目录及自目录所属者修改为用户postgres,并修改data目录权限为755
chown -R postgres:postgres postgresql
chmod 755 data/
切换到用户postgres,配置环境变量
使环境变量生效
source ~/.bash_profile
[root@db01 ~]# initdb -U postgres -D /pgsql/postgresql/data/
查看data目录
[postgres@db01 data]$ ps -ef | grep postgres
由上可得无数据库进程
将data目录权限修改为700
chmod 700 data/
启动数据库服务
pg_ctl start -D /pgsql/postgresql/data/
注意:如果没有将data目录修改为700的话,启动数据库服务时会出现如下问题
ps -ef | grep postgres
如上有postgres进程指向的路径为数据库安装的bin路径即代表数据库正在运行。
psql -p 5432 -U postgres
登录成功。