本篇文章更新時間:2023/05/01
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
本文教學步驟參考 Gist 筆記。
清除主機上其他版本的 PostgreSQL(非必要)
先是查詢主機上目前安裝的版本
dpkg -l | grep postgres
如果有列出類似下列結果:
ii postgresql 9.5+173 all object-relational SQL database (supported version)
ii postgresql-9.5 9.5.8-0ubuntu0.16.04.1 amd64 object-relational SQL database, version 9.5 server
ii postgresql-client-9.5 9.5.8-0ubuntu0.16.04.1 amd64 front-end programs for PostgreSQL 9.5
ii postgresql-client-common 173 all manager for multiple PostgreSQL client versions
ii postgresql-common 173 all PostgreSQL database-cluster manager
ii postgresql-contrib-9.5 9.5.8-0ubuntu0.16.04.1 amd64 additional facilities for PostgreSQL
可以使用下列指令,移除上述程式資料!
sudo apt-get --purge remove postgresql postgresql-9.5 postgresql-client-9.5 postgresql-client-common postgresql-common postgresql-contrib-9.5
新增套件管理庫的 PostgreSQL 源
根據自己 Ubuntu 版本選擇一個操作:(如果忘了自己作業系統的版本可以輸入 lsb_release -a
查看)
目前只有 Ubuntu 18.04 才預設配備 PostgreSQL 10.x 的版本,所以其他版本的 Ubuntu 需要對應作業系統版本選擇新增來源文件。
- Ubuntu 14.04:
sudo add-apt-repository 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main'
- Ubuntu 16.04:
sudo add-apt-repository 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main'
- Ubuntu 17.04:
sudo add-apt-repository 'deb http://apt.postgresql.org/pub/repos/apt/ zesty-pgdg main'
輸入對應版本的指令後再輸入下方兩行指令來更新套件管理程式:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
安裝 PostgreSQL
sudo apt-get install postgresql-10 -y
上述一行指令即可以完成安裝,安裝後會自動執行。
對應可能會要設定伺服器環境的部分是關於資料庫連線與安全性,這方面可以參考 Gist 筆記。
主要是連線方式的設定檔案「pg_hba.conf
」與連線操作指令: psql
像是不切換使用者的做法:
psql --host=localhost --dbname=database-name --username=postgres
筆記中描述的更清楚,建議閱讀(英文)。
中文的教學可以參考熱心的社群文件「PostgreSQL 正體中文使用手冊」!
搞定,收工~
移除 PostgreSQL
如果不打算使用了,想移除的指令如下:
sudo apt-get remove --purge postgresql\*
sudo rm -rf /etc/postgresql/
sudo rm -rf /etc/postgresql-common/
sudo rm -rf /var/lib/postgresql/
如果想連帶移除溪錢建立的使用者,可以使用下面指令:
sudo userdel -r postgres
最後使用 sudo apt-get autoremove
指令來個大整理,移除沒有使用的套件。