在CentOS上配置PostgreSQL的步驟如下:
更新系統包: 首先,確保你的系統包是最新的。
sudo yum update -y
安裝PostgreSQL: 使用yum來安裝PostgreSQL服務器和客戶端工具。
sudo yum install -y postgresql-server postgresql-contrib
初始化數據庫: 安裝完成后,初始化數據庫。
sudo /usr/pgsql-<version>/bin/postgresql-<version>-setup initdb
啟動PostgreSQL服務: 啟動PostgreSQL服務并設置為開機自啟動。
sudo systemctl start postgresql
sudo systemctl enable postgresql
配置PostgreSQL:
編輯PostgreSQL的主要配置文件postgresql.conf
和身份驗證文件pg_hba.conf
。
編輯postgresql.conf
文件:
sudo vi /etc/postgresql/<version>/main/postgresql.conf
修改以下參數(根據你的需求進行調整):
listen_addresses = '*' # 允許所有IP連接
port = 5432 # 設置監聽端口
max_connections = 100 # 設置最大連接數
shared_buffers = 256MB # 設置共享緩沖區大小
work_mem = 64MB # 設置工作內存大小
maintenance_work_mem = 256MB # 設置維護工作內存大小
effective_cache_size = 768MB # 設置有效緩存大小
checkpoint_segments = 8 # 設置檢查點段數
checkpoint_completion_target = 0.9 # 設置檢查點完成目標
編輯pg_hba.conf
文件:
sudo vi /etc/postgresql/<version>/main/pg_hba.conf
在文件末尾添加以下行以允許來自所有IP的連接:
host all all 0.0.0.0/0 md5
重新加載配置文件: 重新加載PostgreSQL配置以應用更改。
sudo systemctl reload postgresql
創建超級用戶和管理員: 登錄到PostgreSQL并創建一個超級用戶和管理員。
sudo -u postgres psql
CREATE ROLE admin WITH LOGIN PASSWORD 'admin_password';
ALTER ROLE admin SET client_encoding TO 'utf8';
ALTER ROLE admin SET default_transaction_isolation TO 'read committed';
ALTER ROLE admin SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE postgres TO admin;
\q
創建數據庫: 使用超級用戶登錄并創建一個新的數據庫。
sudo -u postgres psql
CREATE DATABASE mydatabase;
\q
配置防火墻: 確保防火墻允許PostgreSQL端口(默認是5432)。
sudo firewall-cmd --permanent --add-service=postgresql
sudo firewall-cmd --reload
測試連接:
使用psql
客戶端或其他數據庫客戶端工具來測試連接。
psql -h localhost -U admin -d mydatabase
輸入密碼后,如果成功連接,你將看到PostgreSQL的命令提示符。