1. Linux下源码包安装PostgreSQL

一、下载安装包

  1. 官方下载地址:https://www.postgresql.org
  2. 点击 “Download” ——“Source”——“v11.5”(选择合适的版本)——“postgresql-11.5.tar.gz”或“postgresql-11.5.tar.bz2”

二、编译安装

  1. 将下载的安装包 “postgresql-11.5.tar.bz2” 上传到Linux服务器。
  2. 解压安装包
$ tar xjvf postgresql-11.5.tar.bz2
  1. 编译安装
$ cd postgresql-11.5
// --prefix用于指定安装目录
$ ./configure --with-systemd --prefix=$HOME/opt/postgresql1.5
$ make
$ make install
# ### 说明
# 只安装客户端:如果你只想装客户应用和接口,你可以使用下面的命令:
$ make -C src/bin install
$ make -C src/include install
$ make -C src/interfaces install
$ make -C doc install

# 如果执行了一次make, 却发现configure选项有问题, 或者你修改了任何configure的东西(例如,升级了软件), 那么在重新配置和编译之前运行一下make distclean。
  1. 设置环境变量
$ vi $HOME/.bash_profile 
PATH=$PATH:$HOME/opt/postgresql1.5/bin
LD_LIBRARY_PATH=$HOME/opt/postgresql1.5/lib
export PATH
export LD_LIBRARY_PATH

# 使设置的环境变量生效
$ source $HOME/.bash_profile 
  1. 创建数据目录
$ mkdir $HOME/data
$ chown -R appadmin:appadmin $HOME/data
  1. 初始化数据库
$ initdb -D $HOME/data

三、启动与停止

  1. 启动
# 创建日志目录
$ mkdir $HOME/logs

# 启动数据库
$ pg_ctl -D $HOME/data -l $HOME/logs/pg.log start
# 或
$ postgres -D $HOME/data >$HOME/logs/pg.log 2>&1 &
  1. 查看数据库状态
$  pg_ctl -D $HOME/data -l $HOME/logs/pg.log status
pg_ctl: server is running (PID: 28985)
/home/appadmin/opt/PostgreSQL11.5/bin/postgres "-D" "/home/appadmin/data"
  1. 测试数据库是否安装成功
# 创建名为 test 的数据库
$ createdb test

# 登录 test 库
$ psql test
test=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | appadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | appadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/appadmin          +
           |          |          |             |             | appadmin=CTc/appadmin
 template1 | appadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/appadmin          +
           |          |          |             |             | appadmin=CTc/appadmin
 test      | appadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
(4 rows)

# 退出数据库
test=# \q
  1. 停止
$ pg_ctl -D $HOME/data -l $HOME/logs/pg.log stop

四、开机启动

vi /etc/systemd/system/postgresql.service
[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)

[Service]
# 使用Type=notify要求编译时configure 要加 --with-systemd。
Type=notify
User=postgres
ExecStart=$HOME/opt/postgresql1.t/bin/postgres -D $HOME/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
# 默认是90s,建议设置为0,表示不超时,以免postgresql执行崩溃恢复而超时。
TimeoutSec=0

[Install]
WantedBy=multi-user.target
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值