PostgreSQL,通常簡稱為 “Postgres”,是一種對象關系數據庫管理系統(ORDBMS),強調可擴展性和符合標準。作為數據庫服務器,它的主要功能是安全地存儲數據并支持最佳實踐,然后根據其他軟件應用程序的要求檢索數據。它可以處理從小型單機應用程序到擁有眾多并發用戶的大型互聯網應用程序等各種工作負載。
在安裝任何新軟件之前,建議更新系統以確保軟件是最新版本:
sudo apt update && sudo apt upgrade
安裝 PostgreSQL 及其附加組件:
sudo apt install postgresql postgresql-contrib
安裝完成后,可以使用以下命令驗證 PostgreSQL 是否成功安裝并啟動:
sudo systemctl status postgresql
如果一切正常,您應該看到服務狀態為 active (running)
。
編輯 PostgreSQL 配置文件 /etc/postgresql/{version}/main/postgresql.conf
,找到以下參數并進行調整:
listen_addresses '*' # 允許來自任何 IP 地址的連接
port 5432 # PostgreSQL 默認端口
max_connections 100 # 最大連接數
如果系統使用防火墻(如 UFW),請確保允許 PostgreSQL 的默認端口(5432):
sudo ufw allow 5432/tcp
保存配置文件并重啟 PostgreSQL 服務以應用更改:
sudo systemctl restart postgresql
使用 psql
命令行工具連接到 PostgreSQL 服務器:
sudo -u postgres psql
在 psql
提示符下,創建一個新的數據庫:
CREATE DATABASE mydatabase;
在 psql
提示符下,創建一個新用戶并設置密碼:
CREATE USER myuser WITH PASSWORD 'mypassword';
為新用戶分配數據庫權限:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
退出 psql
命令行界面:
\q
使用 pg_dump
工具備份數據庫:
sudo -u postgres pg_dump mydatabase > mydatabase_backup.sql
使用 pg_restore
工具恢復數據庫:
sudo -u postgres psql mydatabase < mydatabase_backup.sql
如果您在嘗試連接到 PostgreSQL 數據庫時遇到“訪問被拒絕”錯誤,請確保您使用了正確的用戶名和密碼,并且該用戶具有適當的權限。您還可以檢查 PostgreSQL 的日志文件以獲取更多信息,該文件通常位于 /var/log/postgresql/postgresql-{version}-main.log
。
默認情況下,PostgreSQL 用戶 postgres
是沒有密碼的。為了提高安全性,建議您為 postgres
用戶設置密碼:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
希望這些常見問題解答能幫助您更好地使用和管理 Debian 上的 PostgreSQL 數據庫。如果需要進一步的幫助,請參考官方文檔或相關社區資源。