这里使用源码安装的方式进行:
Linux版本:ubuntu16.04
PostgresSQL版本:postgresql-10.16
在PostgreSQL官网下载地址:https://www.postgresql.org/ftp/source/v10.16/
下载postgresql-10.16.tar.gz
请将官网下载好的postgresql-10上传至准备好的服务器
切换到root用户下
su root
安装所需要的依赖:
apt-get install libreadline-dev
apt-get install zlib1g
apt-get install zlib1g.dev
解压postgresql-10.16
tar -zxvf postgresql-10.16.tar
进入 postgresql-10.16 目录
cd postgresql-10.16
执行命令:
./configure --prefix=/usr/local/postgresql-10
配置(configure)的prefix选项,我们打算把他安装到目录 /usr/local/postgresql-10,于是在执行带选项的脚本即加上 “--prefix=/usr/local/postgresql-10”
安装完成将自动生成目录postgresql,而且该软件任何的文档都被复制到这个目录。为什么要指定这个安装目录?是为了以后的维护方便,假如没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文档、都复制到哪里去了—基本上是一塌糊涂。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就能够把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
一个小选项有这么方便的作用,建议在实际工作中多多使用。
注意:
“configure --prefix=/”的作用是:编译的时候用来指定程序存放路径 。
1、不指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr/local/share。
2、指定prefix,直接删掉一个文件夹就够了。
还有关键的一点是,编译安装完成后,不要删除源代码,不然就算作者写了unnistall目标,你也没有makefile可以执行了。
准备进行编译
make
make install
说明postgresql 已经安装完成!
下面我们来创建一个postgres 用户:
adduser postgres
输入postgres用户的密码,一路回车,创建完成
进入/usr/local/postgresql-10 目录
创建data目录mkdir data
cd /usr/local/postgresql-10
mkdir data
给与权限
chown postgres /usr/local/postgresql-10/data
切换到postgress用户
su postgres
执行命令
/usr/local/postgresql-10/bin/initdb -D /usr/local/postgresql-10/data
切回到root用户下执行
/usr/local/postgresql-10/bin/postgres -D /usr/local/postgresql-10/data >logfile 2>&1 &
启动数据库:
先进入/usr/local/postgresql-10/bin 目录下,切换到postgres用户执行启动数据库命令
cd /usr/local/postgresql-10/bin
su postgres
./pg_ctl start -D /usr/local/postgresql-10/data
说明postgreSQL成功启动,进入数据库:
./psql
说明,安装成功,且正常运行!退出 ctrl + d
重启数据库:
./pg_ctl restart -D /usr/local/postgresql-10/data
关闭数据库:
./pg_ctl stop -D /usr/local/postgsql-10/data
如何远程访问数据库:
修改配置文件:
vim /usr/local/postgresql-10/data/postgresql.conf
原来的监听地址为:
#listen_addresses='localhost'
#port = 5432
#将上面内容改成如下
listen_addresses='*'
port = 5432
其他配置,大家可以自己去查阅资料进行修改配置
保存退出,接下来修改:
vi /usr/local/postgresql-10/data/pg_hba.conf
保存退出后,重新启动数据库
su postgres
./pg_ctl restart -D /usr/local/postgresql-10/data
使用Navicat 进行远程连接即可
这样远程连接就可以使用了!