Ubuntu 安裝和配置 PostgreSQL
以 Ubuntu Server 20.04,PostgreSQL 12 版本為例。
1. 安裝
使用如下命令,安裝指定版本的 PostgreSQL
sudo apt install postgresql-12
在 Ubuntu 20.04 中安裝 PostgreSQL 登錄您的 Ubuntu 系統并使用以下 apt 命令更新系統軟件包。 sudo apt update 現在從默認的 Ubuntu 存儲庫安裝最新版本的 PostgreSQL 。
sudo apt install postgresql-12
在安裝過程中,安裝程序將創建一個新的 PostgreSQL 集群(將由單個服務器實例管理的數據庫集合),從而初始化數據庫。默認數據目錄是 /var/lib/postgresql/12/main
,配置文件存儲在 /etc/postgresql/12/main
目錄中。
補充(安裝方式不同,文件路徑不一樣):
使用軟件包管理工具:在安裝軟件時,可以通過軟件包管理工具指定安裝目錄。例如,使用apt工具安裝軟件時,可以使用–prefix選項指定安裝目錄。例如:
sudo apt-get install <軟件包名> --prefix=<安裝目錄>
使用源代碼編譯安裝:如果軟件沒有提供預編譯的安裝包,則可以下載源代碼,進行編譯安裝。在編譯時,可以使用–prefix選項指定安裝目錄。例如:
./configure --prefix=<安裝目錄>
make
sudo make install
手動安裝:如果以上兩種方法都不可行,可以手動將軟件安裝至指定目錄。將軟件解壓后,將其移動至指定目錄即可。
需要注意的是,指定安裝目錄可能需要root權限,因此可能需要使用sudo或者root用戶來進行操作。另外,指定安裝目錄后,需要確保系統的環境變量PATH中包含該目錄,以便系統能夠找到安裝的軟件。
2. 修改默認數據庫密碼
PostgreSQL 安裝后會默認創建一個 postgres 的數據庫用戶作為管理員賬號,但是密碼是隨機的,所以首先要修改登錄密碼,使用 sudo -u postgres psql 登錄數據庫,這種方式登錄是不需要密碼的。
在出現 postgres=# 提示符后輸入
alter user postgres with password '123456';
修改密碼,操作成功后輸入 \q
退出 psql
現在嘗試一下,可以使用新密碼進行登錄了
psql -U postgres -d postgres -h 127.0.0.1 -p 5432
然后輸入新密碼成功登錄
3. 設置允許遠程訪問
安裝完 PostgreSQL 數據庫后,默認是只接受本地訪問鏈接的,如果想在其它的主機上訪問數據庫,需要進行相應的配置。
修改監聽地址
sudo vim /etc/postgresql/12/main/postgresql.conf
將 #listen_addresses = ‘localhost’ 的注釋去掉并改為 listen_addresses = ‘*’
修改可訪問IP段
sudo vim /etc/postgresql/12/main/pg_hba.conf
在如下位置添加一行,表示允許任意地址通過密碼進行遠程訪問
重啟數據庫
完成上述兩項操作后,使用 sudo service postgresql restart 重啟數據庫使配置生效。
現在可以從外部成功鏈接數據庫了。
常用命令
sudo /etc/init.d/postgresql start # 開啟
sudo /etc/init.d/postgresql stop # 關閉
sudo /etc/init.d/postgresql restart # 重啟systemctl start postgresql # 開啟
systemctl status postgresql #postgresql服務的健康狀態
systemctl restart postgresql # 重啟journalctl -r -u postgresql #服務系統啟動日志 natstat -alnt #服務端口工作狀態
windows安裝
軟件下載
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
雙擊exe文件
選擇安裝路徑:
選擇要安裝的組件
選擇數據存放位置
選擇密碼
選擇端口號
安裝過程,需要一會兒時間,請耐心等待程序安裝完成。
打開可視化面板程序
了解其目錄結構和配置文件
在 PostgreSQL 的安裝目錄下,包含了許多子目錄,每個子目錄都承載著特定的功能。以下是 PostgreSQL 的主要目錄結構:
bin 目錄:包含 PostgreSQL 服務器的可執行文件和客戶端工具,如 postgres、psql 等。
data 目錄:這是PostgreSQL 的數據目錄,存儲了所有的數據庫文件,包括表、索引、配置文件等。
lib 目錄:包含 PostgreSQL運行所需的各種庫文件。log 目錄:日志文件存放于此,包括服務器日志、客戶端日志等。
include目錄:包含頭文件,用于編譯和鏈接自定義的 PostgreSQL 擴展。
man 目錄:包含 PostgreSQL 的手冊頁文件,可以通過man 命令查看相關命令或功能的詳細說明。
在這些目錄中,最重要的當屬 data 目錄和 postgresql.conf 配置文件。data 目錄存儲了數據庫的所有數據和元數據,而 postgresql.conf 文件則控制著 PostgreSQL 服務器的行為。
postgresql.conf配置文件介紹
postgresql.conf
是 PostgreSQL 的主要配置文件,包含了大量的設置選項,用于調整數據庫的性能、安全性和其他行為。
以下是一些常見的配置項及其作用
port:指定服務器監聽的端口號。默認是 5432。
data_directory:指定數據文件的存放位置。在安裝時通常會自動設置此項。
unix_socket_directory:指定 Unix socket 的路徑,用于本地連接。可以通過更改此項來改變 socket 的位置。
max_connections:允許的最大連接數。如果達到此數,新的連接請求將被拒絕。可以通過調整此值來優化性能和資源使用。
shared_buffers:分配給 PostgreSQL 服務器的內存緩沖區大小。適當的設置可以提高查詢性能。
work_mem:每個排序操作和哈希操作可用的內存量。增加此值可以減少磁盤 I/O,提高性能。
maintenance_work_mem:維護操作(如 VACUUM)可用的內存量。適當增加此值可以加速這些操作。
ssl:控制是否啟用 SSL 連接。如果啟用了 SSL,可以進一步設置 ssl_cert_file 和 ssl_key_file 來指定證書和密鑰文件的路徑。
listen_addresses:指定服務器應該監聽的 IP 地址或主機名。可以設置為 ‘*’ 表示監聽所有地址,或指定特定的 IP 地址或主機名。
auth_method:控制身份驗證方法。可以選擇 ‘md5’、’password’、’trust’ 等模式,以滿足不同的安全需求。
官方文檔地址
http://www.postgres.cn/docs/12/index.html