一、
下載需要的版本文件
網址
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 退出