这份安装笔记同样也适用psotgresql 9,下面的说明中比较多的使用到sudo命令,而且用在平时比较常用的指令前面如service,useradd,groupadd等,这些命令不能直接执行,需要如sudo service 才可以,否则会报错,提示没有这条指令,猜测原因,是由于debian 10调整了安全策略,不允许用户提权后直接使用root权限指令。(用root用户直接登录,可以使用。“这应该是废话吧,哈哈哈哈”),祝安装愉快,希望能帮到各位。
安装准备
- 下载debian 10
可以前往官网下载,但是官网的速度比较慢,选择国内源下载比较快,我用的是中国科技大学 - 系统安装
我用的是虚拟机安装,与正式安装差不多,所以该过程忽略(网络上大把教程),个人觉得唯一要注意的是,在安装过程中,有选择更改使用的源,要选择国内的源地址,哪个都可以,一般选择163,清华,科技大,搜狐,或者华为等等;安装完成后最好执行下apt-get update
/apt-get upgrade
这两条命令,把系统的软件在更新下; - 安装组件
3.1 安装java 11
我先安装java(我也不知道为啥,习惯了),这个版本的debian可以支持到java11的版本,就安装最新的版本,用源安装(简单粗暴)apt-get install default-jdk
等待安装完成就好,完成后执行java --version
可以查看版本号,效果如下:
root@debian10:/# java --version
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode, sharing)
3.2 安装编译器
apt-get install libreadline-dev make gcc zlibc libghc-zlib-dev libzlcore-dev git automake -y
3.3 新建用户和文件夹,并修改文件夹所有者
sudo groupadd postgres
sudo useradd postgres -g postgres
mkdir -p /usr/local/pgsql
mkdir -p /db/pgsql/data
chown -R postgres /usr/local/pgsql/.
chown -R postgres /db/pgsql/data
chown -R postgres /db/pgsql/data/.
3.4 下载并解压文件
wget http://ftp.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz
tar -zxvf postgresql-12.1.tar.gz -C /usr/src #可以自定义解压路径,只要能找得到就好
3.5 编译安装
./configure
make
make install
3.6 修改/etc/profile
环境配置文件
vi /etc/profile
在文件的最后一行添加
PATH=/usr/local/pgsql/bin:$PATH 主要用于psql这条指令的运行
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/src/postgresql-12.1/src/lib
export LD_LIBRARY_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/pgsql/include
export C_INCLUDE_PATH
添加完毕后,执行source让环境生效
source /etc/profile
3.7 切换用户,初始化数据库脚本
su - postgres
$ /usr/local/pgsql/bin/initdb --encoding=utf8 -D /db/pgsql/data
exit
3.8 复制数据库启动脚本到/etc/init.d/
目录,并增加执行权限
cp /usr/src/postgresql-9.6.3/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
3.9 编辑启动脚本,指定数据库文件目录,在行首添加启动脚本
vi /etc/init.d/postgresql
找到 Data directory
PGDATA=""
修改为 PGDATA="/db/pgsql/data"效果如下
# Data directory
PGDATA="/db/pgsql/data"
在!/bin/sh下加入启动脚本效果如下
!/bin/sh
### BEGIN INIT INFO
# Provides: postgresql
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: PostgreSQL RDBMS server
# Description: Start the postgresql service
### END INIT INFO
3.10 修改postgresql.conf配置文件,配置可以访问数据库的主机地址
vi /db/pgsql/data/postgresql.conf
找到listen_address = ''
修改为 listen_address = '*' 用于测试所以就全开,如果生产环境,请指定IP地址
3.11 注册postgresql服务,启动服务查看端口是否开放
sudo update-rc.d postgresql defaults
service postgresql start
netstat -ano | grep 5432 postgresql默认端口
3.12 测试登录并修改密码
root@debian10:/# psql -U postgres
psql (12.1)
Type "help" for help.
postgres=#
看到以上这段说明安装完成,然后执行修改密码命令
postgres=# ALTER USER postgres PASSWORD 'test123456';
ALTER ROLE
看到以上返回说明密码修改成功
/exit
3.13 修改pg_hba.conf
配置文件,需要md5验证
vi /db/pgsql/data/pg_hba.conf
找到以下
# "local" is for Unix domain socket connections only
# local all all trust
local all all md5
# IPv4 local connections:
#host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
sudo service postgresql stop
sudo service postgresql start
3.14 将postgresql开机自启
由于debian10源库里没有chkconfig工具,可以安装sysv-rc-conf,然后复制文件到/usr/bin目录修改文件名为chkconfig,操作如下
apt-get install sysv-rc-conf
cp /usr/sbin/sysv-rc-conf /usr/bin/chkconfig
chkconfig postgresql on
即可完成开机启动配置
安装完成,如果需要配置数据库,请查询官方文档。纯手打,转载请说明出处。