二進制安裝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 退出
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM