欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PostgreSQL15.x安裝的詳細教程

 更新時間:2024年09月18日 09:44:42   作者:徐州蔡徐坤  
PostgreSQL 是一個功能強大的開源關系型數據庫系統,基于 C 語言實現,采用 PostgreSQL 許可證,這是一種自由軟件許可證,允許用戶自由使用、修改和分發(fā)源代碼,所以本文將給大家介紹PostgreSQL15.x安裝的詳細教程,需要的朋友可以參考下

一、介紹

PostgreSQL 是一個功能強大的開源關系型數據庫系統,基于 C 語言實現,采用 PostgreSQL 許可證,這是一種自由軟件許可證,允許用戶自由使用、修改和分發(fā)源代碼,同時支持商業(yè)用途而不設強制限制。這使得 PostgreSQL 成為廣受歡迎的開源數據庫解決方案。PostgreSQL 支持跨版本升級,過程通常平穩(wěn)。盡管國內市場 MySQL 仍占主導地位,但許多國產數據庫(如華為的 GaussDB 和騰訊的 Tbase)及云服務提供商都廣泛支持 PostgreSQL。此外,pgloader 等數據遷移工具可以幫助用戶高效地將數據從 MySQL、SQL Server 和 Oracle 遷移到 PostgreSQL。

官方資源

二、安裝

操作系統:centos7,數據庫版本:15.8

2.1 下載并執(zhí)行安裝

打開官方地址 PostgreSQL: Linux downloads (Red Hat family):根據服務器版本選擇:

image-20240912135407752

按照上圖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

image-20240912142226939

如果報錯:

錯誤:軟件包: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 '新密碼';

image-20240912142756266

三、配置

配置目錄: /var/lib/pgsql/15/data ,配置的核心文件都屬于postgres用戶,修改時需要切換為postgres用戶

主要操作postgresql.conf和pg_hba.conf

image-20240912143222499

3.1 遠程連接配置

配置postgresql.conf

postgresql.conf是PostgreSQL的主要配置文件,它包含了許多數據庫服務器的全局設置選項。通過修改這個文件,您可以配置數據庫服務器的各種參數,如監(jiān)聽地址、端口號、最大連接數、日志記錄等。這個文件的修改通常需要重啟數據庫服務器才能生效。

修改/var/lib/pgsql/12/data/postgresql.conf配置文件,默認情況下,PostgreSQL只允許localhost連接,直接配置為*即可

image-20240912145248699

配置pg_hba.conf

pg_hba.conf是PostgreSQL的身份驗證配置文件,它定義了哪些客戶端可以連接到數據庫服務器以及如何進行身份驗證。通過修改這個文件,您可以控制訪問數據庫的權限,配置不同用戶的身份驗證方法,以及定義訪問控制規(guī)則。修改pg_hba.conf文件后,通常需要重新加載配置或重啟數據庫服務器才能使更改生效。

修改/var/lib/pgsql/12/data/pg_hba.conf配置文件,支持遠程用戶訪問

image-20240912145748487

模板參數說明:

  • type:local代表本地連接,host代表可以指定連接的ADDRESS
  • database:數據庫名,如果寫all,代表所有庫都可以連接
  • user:連接的用戶,可以寫all,代表所有用戶
  • address:代表那些IP地址可以連接
  • method:加密方式,一般直接md5

重啟PostgreSQL

修改完上面的兩個配置文件,都需要重啟下:

systemctl restart postgresql-15

navicat連接測試

image-20240912150447918

3.2 數據庫的日志配置

配置postgresql.conf

image-20240912151054624

# 代表日志是開啟的。
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

image-20240912151729978

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處理空值NULL與替換的問題解決辦法

    postgresql處理空值NULL與替換的問題解決辦法

    由于在不同的語言中對空值的處理方式不同,因此常常會對空值產生一些混淆,下面這篇文章主要給大家介紹了關于postgresql處理空值NULL與替換的問題解決辦法,需要的朋友可以參考下
    2024-02-02
  • PostgreSQL+GeoHash地圖點位聚合實現代碼

    PostgreSQL+GeoHash地圖點位聚合實現代碼

    這篇文章主要介紹了PostgreSQL+GeoHash地圖點位聚合,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • PostgreSQL入門簡介

    PostgreSQL入門簡介

    PostgreSQL是一個免費的對象-關系型數據庫服務器(ORDBMS),遵循靈活的開源協議BSD。這篇文章主要介紹了PostgreSQL入門簡介,需要的朋友可以參考下
    2020-12-12
  • PostgreSQL教程(十九):SQL語言函數

    PostgreSQL教程(十九):SQL語言函數

    這篇文章主要介紹了PostgreSQL教程(十九):SQL語言函數,本文講解了SQL語言函數基本概念、基本類型、復合類型、帶輸出參數的函數、返回結果作為表數據源等內容,需要的朋友可以參考下
    2015-05-05
  • 基于PostgreSQL和mysql數據類型對比兼容

    基于PostgreSQL和mysql數據類型對比兼容

    這篇文章主要介紹了基于PostgreSQL和mysql數據類型對比兼容,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • postgresql 中的序列nextval詳解

    postgresql 中的序列nextval詳解

    這篇文章主要介紹了postgresql 中的序列nextval詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • PostgreSQL流復制參數max_wal_senders的用法說明

    PostgreSQL流復制參數max_wal_senders的用法說明

    這篇文章主要介紹了PostgreSQL流復制參數max_wal_senders的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL忘記postgres賬號密碼的解決方法

    PostgreSQL忘記postgres賬號密碼的解決方法

    這篇文章主要介紹了PostgreSQL忘記postgres賬號的密碼的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Postgresql psql文件執(zhí)行與批處理多個sql文件操作

    Postgresql psql文件執(zhí)行與批處理多個sql文件操作

    這篇文章主要介紹了Postgresql psql文件執(zhí)行與批處理多個sql文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql 實現sql多行語句合并一行

    postgresql 實現sql多行語句合并一行

    這篇文章主要介紹了postgresql 實現sql多行語句合并一行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論