PostgreSQL15.x安裝的詳細教程
一、介紹
PostgreSQL 是一個功能強大的開源關系型數據庫系統,基于 C 語言實現,采用 PostgreSQL 許可證,這是一種自由軟件許可證,允許用戶自由使用、修改和分發(fā)源代碼,同時支持商業(yè)用途而不設強制限制。這使得 PostgreSQL 成為廣受歡迎的開源數據庫解決方案。PostgreSQL 支持跨版本升級,過程通常平穩(wěn)。盡管國內市場 MySQL 仍占主導地位,但許多國產數據庫(如華為的 GaussDB 和騰訊的 Tbase)及云服務提供商都廣泛支持 PostgreSQL。此外,pgloader
等數據遷移工具可以幫助用戶高效地將數據從 MySQL、SQL Server 和 Oracle 遷移到 PostgreSQL。
官方資源
- PostgreSQL 官方網站:PostgreSQL
- 國內社區(qū):PostgreSQL 國內社區(qū)
二、安裝
操作系統:centos7,數據庫版本:15.8
2.1 下載并執(zhí)行安裝
打開官方地址 PostgreSQL: Linux downloads (Red Hat family):根據服務器版本選擇:
按照上圖Copy, paste and run the relevant parts of the setup script:
里的命令執(zhí)行:下載PpstgreSQL的rpm包
# 下載PostgreSQL sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # 安裝PostgreSQL sudo yum install -y postgresql15-server # 初始化數據庫 sudo /usr/pgsql-15/bin/postgresql-15-setup initdb # 設置開機啟動PostgreSQL sudo systemctl enable postgresql-15 # 啟動PostgreSQL sudo systemctl start postgresql-15
如果報錯:
錯誤:軟件包:postgresql15-15.8-1PGDG.rhel7.x86_64 (pgdg15) 需要:libzstd >= 1.4.0 錯誤:軟件包:postgresql15-15.8-1PGDG.rhel7.x86_64 (pgdg15) 需要:libzstd.so.1()(64bit) 錯誤:軟件包:postgresql15-server-15.8-1PGDG.rhel7.x86_64 (pgdg15) 需要:libzstd.so.1()(64bit)
解決方案:
wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/llvm5.0-libs-5.0.1-7.el7.x86_64.rpm
執(zhí)行:
yum install -y ./libzstd-1.5.5-1.el7.x86_64.rpm yum install -y centos-release-scl-rh llvm5*
執(zhí)行完成后,重新安裝postgresql15
2.2 登錄驗證
PostgreSQ默認創(chuàng)建一個無密碼用戶:postgres
# 以超級用戶身份登錄L數據庫 sudo -u postgres psql # 查看有哪些庫 \l # 退出PostgreSQL \q # 修改密碼,如果需要數據庫連接工具連接,必須設置密碼 ALTER USER postgres WITH PASSWORD '新密碼';
三、配置
配置目錄: /var/lib/pgsql/15/data
,配置的核心文件都屬于postgres用戶,修改時需要切換為postgres用戶
主要操作postgresql.conf和pg_hba.conf
3.1 遠程連接配置
配置postgresql.conf
postgresql.conf是PostgreSQL的主要配置文件,它包含了許多數據庫服務器的全局設置選項。通過修改這個文件,您可以配置數據庫服務器的各種參數,如監(jiān)聽地址、端口號、最大連接數、日志記錄等。這個文件的修改通常需要重啟數據庫服務器才能生效。
修改/var/lib/pgsql/12/data/postgresql.conf配置文件,默認情況下,PostgreSQL只允許localhost連接,直接配置為*即可
配置pg_hba.conf
pg_hba.conf是PostgreSQL的身份驗證配置文件,它定義了哪些客戶端可以連接到數據庫服務器以及如何進行身份驗證。通過修改這個文件,您可以控制訪問數據庫的權限,配置不同用戶的身份驗證方法,以及定義訪問控制規(guī)則。修改pg_hba.conf文件后,通常需要重新加載配置或重啟數據庫服務器才能使更改生效。
修改/var/lib/pgsql/12/data/pg_hba.conf配置文件,支持遠程用戶訪問
模板參數說明:
- type:local代表本地連接,host代表可以指定連接的ADDRESS
- database:數據庫名,如果寫all,代表所有庫都可以連接
- user:連接的用戶,可以寫all,代表所有用戶
- address:代表那些IP地址可以連接
- method:加密方式,一般直接md5
重啟PostgreSQL
修改完上面的兩個配置文件,都需要重啟下:
systemctl restart postgresql-15
navicat連接測試
3.2 數據庫的日志配置
配置postgresql.conf
# 代表日志是開啟的。 logging_collector = on # 日志存放的路徑,默認放到當前目錄下的log里 log_directory = 'log' # 日志的文件名,默認是postgresql為前綴,%a表示把星期作為后綴 log_filename = 'postgresql-%a.log' # 日志文件會被覆蓋 log_truncate_on_rotation = on # 一天一個日志文件 log_rotation_age = 1d # 日志文件,沒有大小限制 log_rotation_size = 0
3.3 設置wal_level級別(選用)
此參數是為了Flink 能夠捕捉數據更改并將其同步到 MySQL
wal_level
參數控制 PostgreSQL 生成的 WAL 信息的詳細程度。設置為 logical
時,PostgreSQL 會記錄足夠的信息來支持邏輯復制,否則PostgreSQL 無法提供所需的變更數據流
修改postgresql.conf,增加wal_level = logical
,然后執(zhí)行systemctl restart postgresql-15
重啟PostgreSQL
wal_level
的設置會影響 PostgreSQL 的日志記錄級別,具體分為三種:
- minimal:記錄最基本的 WAL 信息,僅用于崩潰恢復,無法支持邏輯復制
- replica:記錄額外的 WAL 信息,支持物理復制,但仍不足以進行邏輯復制
- logical:記錄全部 WAL 信息,包括邏輯復制所需的數據變更,適用于 Flink 和其他邏輯復制工具
3.4 創(chuàng)建用戶并授權
創(chuàng)建用戶:
CREATE USER newuser WITH PASSWORD 'password';
授予數據庫全部權限:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO newuser;
授予表、序列和函數權限(在連接到 mydatabase
后):
\c mydatabase GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO newuser; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO newuser; GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO newuser;
確保權限應用到新對象:
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO newuser; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO newuser; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON FUNCTIONS TO newuser;
以上就是PostgreSQL15.x安裝的詳細教程的詳細內容,更多關于PostgreSQL15.x安裝的資料請關注腳本之家其它相關文章!
相關文章
PostgreSQL流復制參數max_wal_senders的用法說明
這篇文章主要介紹了PostgreSQL流復制參數max_wal_senders的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Postgresql psql文件執(zhí)行與批處理多個sql文件操作
這篇文章主要介紹了Postgresql psql文件執(zhí)行與批處理多個sql文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01