創建/etc/apt/sources.list.d/pgdg.list,並添加以下倉庫源
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
導入存儲庫簽名密鑰,並更新包列表
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
安裝postgresql-12
sudo apt-get install postgresql-12 pgadmin4
2、修改postgres數據庫用戶的密碼為123456
打開客戶端工具(psql)
sudo -u postgres psql
- 其中,sudo -u postgres 是使用postgres 用戶登錄的意思
- PostgreSQL數據默認會創建一個postgres的數據庫用戶作為數據庫的管理員,密碼是隨機的
postgres=# ALTER USER postgres WITH PASSWORD '123456';
- postgres=#為PostgreSQL下的命令提示符,--注意最后的分號;
3、退出PostgreSQL psql客戶端
postgres=# \q
3.創建數據庫用戶dbuser(剛才創建的是Linux系統用戶),並設置密碼。
CREATE USER odoo WITH PASSWORD '123456';
4.創建用戶數據庫,這里為exampledb,並指定所有者為dbuser。
CREATE DATABASE exampledb OWNER odoo;
5.將exampledb數據庫的所有權限都賦予dbuser,否則dbuser只能登錄控制台,沒有任何數據庫操作權限。
GRANT ALL PRIVILEGES ON DATABASE exampledb to odoo;
6使用\q命令退出控制台(也可以直接按ctrl+D)。
1. 修改postgresql.conf
postgresql.conf存放位置在/etc/postgresql/9.x/main下,這里的x取決於你安裝PostgreSQL的版本號,編輯或添加下面一行,使PostgreSQL可以接受來自任意IP的連接請求。
listen_addresses = '*'
- 1
2. 修改pg_hba.conf
pg_hba.conf,位置與postgresql.conf相同,雖然上面配置允許任意地址連接PostgreSQL,但是這在pg中還不夠,我們還需在pg_hba.conf中配置服務端允許的認證方式。任意編輯器打開該文件,編輯或添加下面一行。
# TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 0.0.0.0/0 md5
退出: \q
完成上三項配置后執行sudo service postgresql restart
重啟PostgreSQL服務后,允許外網訪問的配置就算生效了。
刪除數據表
DROP database exampledb;
列出數據庫名
SELECT datname FROM pg_database;
檢查是否存在該用戶
psql testbd -tAc "SELECT 1 FROM pg_roles WHERE rolname='odoo'"
4、修改ubuntu操作系統的postgres用戶的密碼(密碼要與數據庫用戶postgres的密碼相同)
切換到root用戶
su root
刪除PostgreSQL用戶密碼
sudo passwd -d postgres
- passwd -d 是清空指定用戶密碼的意思
設置PostgreSQL系統用戶的密碼
sudo -u postgres passwd
按照提示,輸入兩次新密碼
- 輸入新的 UNIX 密碼
- 重新輸入新的 UNIX 密碼
- passwd:已成功更新密碼
5、修改PostgresSQL數據庫配置實現遠程訪問
vi /etc/postgresql/9.4/main/postgresql.conf
1.監聽任何地址訪問,修改連接權限
#listen_addresses = 'localhost' 改為 listen_addresses = '*'
2.啟用密碼驗證
#password_encryption = on 改為 password_encryption = on
vi /etc/postgresql/9.4/main/pg_hba.conf
在文檔末尾加上以下內容
host all all 0.0.0.0 0.0.0.0 md5
最后關閉防火牆或者添加端口規則
systemctl stop firewalld
- 刪除相關的安裝
sudo apt-get --purge remove postgresql\*
- 1
- 刪除配置及文相關件
sudo rm -r /etc/postgresql/ sudo rm -r /etc/postgresql-common/ sudo rm -r /var/lib/postgresql/
- 1
- 2
- 3
- 刪除用戶和所在組
sudo userdel -r postgres sudo groupdel postgres
- 1
- 2
- 重新安裝
sudo apt-get install postgresql