二进制安装postgresql

一、

下载需要的版本文件

网址

 
 
wget https://get.enterprisedb.com/postgresql/postgresql-10.11-2-linux-x64-binaries.tar.gz

tar -zxvf postgresql-10.11-2-linux-x64-binaries.tar.gz -C /root/pg
 
二、
 
新增用户组(如果是ubuntu系统需要加 -m 不然不会自动生成用户目录)
useradd postgres
passwd postgres
切换用户
 
su - postgres

初始化目录

/root/pg/pgsql/bin/initdb -D /root/pg/pg_data/

(我这边把初始化的目录放在了root下,初始化的时候会报权限不足的。 所以可以先给root 及 pg一个 755的权限, chmod 755 /root,chmod 755 /root/pg/  注意:千万不要 -R,chown postgres:postgres -R /root/pg/)

三、

开启

/root/pg/pgsql/bin/pg_ctl -D /opt/postgres/pg_data/ -l logfile start

(-D 定义存储的数据目录 -l 定义日志)

关闭

/root/pg/pgsql/bin/pg_ctl -D /opt/postgres/pg_data/ stop

四、

环境变量

以上运行postgresql要定义目录,还要加绝对路径,非常麻烦,可以加到环境变量中


 su - postgres

 vim /root/.bash_profile 

 


  PATH=$PATH:$HOME/bin export PATH
  export PATH
  export PGHOME=/root/pg/pgsql
  export PATH=$PATH:$PGHOME/bin
  export PGDATA=/root/pg/pg_data
  export PGLOG=/root/pg/pg_log/pg.log

 

source  /root/.bash_profile 

chown postgres /root/pg/pg_data

chown postgres /root/pg/pg_log

 

 

如何用systemctl 管理

 

vim  /etc/systemd/system/postgresql.service

 

加入

[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking  
User=postgres   
Group=postgres
ExecStart= /root/pg/pgsql/bin/pg_ctl -D /root/pg/pg_data/  start
ExecReload= /root/pg/pgsql/bin/pg_ctl -D /root/pg/pg_data/ restart
ExecStop= /root/pg/pgsql/bin/pg_ctl -D /root/pg/pg_data/  stop
PrivateTmp=true 

[Install]
WantedBy=multi-user.target

重载配置

systemctl daemon-reload

开启

systemctl start postgresql 

关闭

systemctl stop postgresql 

重启

systemctl restart postgresql

设置开机自启

systemctl enable postgresql

 

配置完成后

启动

pg_ctl start
 
关闭
pg_ctl stop
 
进入客户端
psql
 
常用命令
 
l 或者 list 展示数据库
 
切换数据库
c dbname
 
d 展示当前所有表
 
q 退出
 

原文地址:https://www.cnblogs.com/smallbo/p/12038819.html