首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

PostgreSQL 資料庫操作完整指南:Windows 與 Linux 環境安裝、建立、使用者管理

     編輯:關於SqlServer

Windows 環境操作流程

1. 初始化資料庫叢集

initdb -D d:/data -E gb2312 --locale=c
  • -D:指定資料目錄路徑
  • -E:設定預設編碼(此處為簡體中文 gb2312)
  • --locale:設定地區設定

2. 註冊 Windows 服務

pg_ctl register -D d:/data -N pgsql
  • -N:服務名稱(此處為 pgsql)

3. 啟動/停止服務

net start pgsql     # 啟動
net stop pgsql      # 停止

4. 建立資料庫

createdb -E gb2312 databaseName

5. 進入互動式終端機

psql databaseName

6. 建立使用者與授權

-- 建立使用者
CREATE USER username PASSWORD 'password';

-- 授予單一權限(PostgreSQL 特性:權限需逐一授予,無法一次授多項)
GRANT SELECT ON tableName TO username;
GRANT INSERT ON tableName TO username;
-- ... 其他權限需分別執行

Linux 環境操作流程

1. 建立資料庫

同 Windows,使用 initdb 初始化,createdb 建立資料庫。

2. 服務控制

# 啟動/停止/重啟
pg_ctl start -D /path/to/datadir
pg_ctl stop  -D /path/to/datadir
pg_ctl restart -D /path/to/datadir

# 單用戶模式啟動(維護用)
postgres --single -D /path/to/datadir

# 多用戶模式伺服器進程
postmaster -D /path/to/datadir

關鍵指令對照表

initdb -D d:/data -E gb2312 --locale=cpg_ctl register -D d:/data -N pgsqlnet start/stop pgsqlcreatedb -E gb2312 dbnamepsql dbname
操作WindowsLinux
初始化initdb -D /var/lib/pgsql/data -E UTF8
服務註冊使用 systemd: systemctl enable postgresql
服務控制pg_ctl start/stop/restart -D datadir 或 systemctl start/stop/restart postgresql
建立資料庫createdb -E UTF8 dbname
進入終端psql dbname

實務提醒

  • 編碼選擇:現代專案建議統一使用 UTF8,避免跨平台亂碼問題。
  • 權限模型:PostgreSQL 採用角色基礎權限,GRANT 需逐項指定,可建立角色群組簡化管理:
    CREATE ROLE app_readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO app_readonly; GRANT app_readonly TO username;
  • pg_hba.conf:連線驗證設定檔,需依部署環境調整 host/local 驗證方式(trust/md5/scram-sha-256)。
  • 版本差異:PostgreSQL 12+ 棄用 postmaster 直接呼叫,統一由 postgres 進程管理;生產環境請使用系統服務管理(systemd/Windows Services)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved