詳解PostgreSQL默認密碼

一、pgsql默認密碼

PostgreSQL是一種強大的開源關係型數據庫管理系統,但是在安裝時,默認密碼設置為“postgres”,這也是許多人採用的密碼,這給數據庫安全帶來了隱患。因此,在安裝PostgreSQL之後,最好更改初始密碼,以提高數據庫的安全性。

下面是一個更改初始密碼的示例代碼:

# 進入PostgreSQL Shell(psql)
> sudo -u postgres psql

# 更改密碼
postgres=# ALTER USER postgres WITH PASSWORD 'new_password';

二、postgresql默認排序

在PostgreSQL中,每個查詢都可以通過相應的ORDER BY子句進行排序。 如果沒有提供ORDER BY子句,則結果集的順序是不可預測的。 在PostgreSQL中,通常使用UNION和INTERSECT等多種操作符時需要指定ORDER BY子句以獲得正確的結果。

下面是一個用於按id升序排列表的示例代碼:

SELECT * FROM table_name ORDER BY id ASC;

三、postgresql更改密碼

更改PostgreSQL用戶密碼的方法已經在第一部分中介紹過,可以使用ALTER USER語句更改任何用戶的密碼。 但是,某些情況下,用戶可能忘記了他們的密碼或無法使用超級用戶(如postgres)更改密碼。 在這種情況下,您可以使用以下步驟更改postgres用戶的密碼:

1. 停止PostgreSQL服務器;

# 停止PostgreSQL服務
> sudo systemctl stop postgresql

2. 編輯pg_hba.conf文件,允許本地訪問

$ sudo vim /var/lib/pgsql/data/pg_hba.conf

在文件的最後添加以下內容:

#添加如下內容即可:
host    all     all     127.0.0.1/32    md5

3. 以身份驗證的方式啟動PostgreSQL;

# 以身份驗證的方式啟動PostgreSQL
> sudo PGSETUP_INITDB_OPTIONS="--auth-host=md5" /usr/pgsql-13/bin/pg_ctl start -D /var/lib/pgsql/13/data -l logfile

4. 使用以下命令更改postgres用戶的密碼。

> psql -U postgres
> \password postgres

輸入新密碼並按Enter鍵,之後要求再次輸入新密碼以確認。 登錄的密碼現在已更改為您輸入的新密碼。

四、設置PostgreSQL數據庫密碼

以下示例方法演示如何設置postgresql數據庫密碼和超級用戶postgres的密碼。

1. 重新啟動PostgreSQL,並使用以下命令更改postgres用戶的密碼。

> sudo systemctl restart postgresql
> sudo -u postgres psql
> ALTER USER postgres with encrypted password 'your-password';

2. 修改pg_hba.conf以允許遠程連接;

> sudo vim /var/lib/pgsql/13/data/pg_hba.conf

在文件最後添加以下內容:

# 添加如下內容:
host    all       all      0.0.0.0/0         md5

3. 修改postgresql.conf文件以允許遠程連接

> sudo vim /var/lib/pgsql/13/data/postgresql.conf

找到聽連接字符串,其可如以下所示:

#監聽地址
listen_addresses = 'localhost'    

修改為以下內容

listen_addresses = '*'

4. 重啟PostgreSQL。

> sudo systemctl restart postgresql

五、postgresql忘記密碼

如果您忘記了postgres用戶的密碼,那我們可以通過以下步驟重置。

1. 編輯pg_hba.conf文件,允許本地訪問

$ sudo vim /var/lib/pgsql/data/pg_hba.conf

在文件的最後添加以下內容:

host    all     all     127.0.0.1/32    trust

2. 停止PostgreSQL服務器

> sudo systemctl stop postgresql

3. 以不需要密碼的方式啟動PostgreSQL

> sudo systemctl start postgresql
> sudo -i -u postgres
$ psql

4. 使用以下命令更改postgres用戶的密碼。

ALTER USER postgres with encrypted password 'your-password';

5. 修改pg_hba.conf以禁用無密碼訪問

$ sudo vim /var/lib/pgsql/data/pg_hba.conf

將文件中所有的

local   all             all                                     trust
host    all             all             127.0.0.1/32            trust

替換為如下所示:

local   all             all                                     md5
host    all             all             127.0.0.1/32            md5

6. 重新啟動PostgreSQL

> sudo systemctl restart postgresql

六、postgresql源碼加密

PostgreSQL支持數據和傳輸功能的加密。 在某些情況下,如包含敏感數據的生產環境中,使用加密功能可以確保數據不會被未經授權的人訪問。

以下示例代碼展示如何啟用PostgreSQL SSL:

# 修改postgresql.conf文件以啟用SSL
listen_addresses = 'localhost' 
ssl = on
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'   
ssl_ca_file = '/etc/ssl/certs/ca-certificates.crt' 
ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem' 
ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key'

# 重啟PostgreSQL服務器
sudo systemctl restart postgresql

七、查看postgresql用戶密碼

如果您想查看PostgreSQL用戶的密碼,可以在PostgreSQL Shell中使用以下命令:

SELECT usename, passwd FROM pg_shadow;

除此之外,您還可以使用以下命令查看指定用戶的密碼:

SELECT passwd FROM pg_shadow WHERE usename='username';

結語:

PostgreSQL是一種強大的關係型數據庫管理系統,本文從多個角度詳細介紹了postgresql默認密碼的設置、更改和重置以及PostgreSQL的加密功能等內容。希望本文可以對您有所幫助!

原創文章,作者:UHBLX,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/332401.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UHBLX的頭像UHBLX
上一篇 2025-01-21 17:30
下一篇 2025-01-24 18:46

相關推薦

  • Python暴力破解wifi密碼

    簡介:本文將從多個方面詳細介紹使用Python暴力破解wifi密碼的方法。代碼實例將被包含在本文中的相關小節中。 一、如何獲取wifi密碼 在使用Python暴力破解wifi密碼之…

    編程 2025-04-27
  • Python 編寫密碼安全檢查工具

    本文將介紹如何使用 Python 編寫一個能夠檢查用戶輸入密碼安全強度的工具。 一、安全強度的定義 在實現安全檢查之前,首先需要明確什麼是密碼的安全強度。密碼的安全強度通常包括以下…

    編程 2025-04-27
  • jiia password – 保護您的密碼安全

    你是否曾經遇到過忘記密碼、密碼泄露等問題?jiia password 正是一款為此而生的解決方案。本文將從加密方案、密碼管理、多平台支持等多個方面,為您詳細闡述 jiia pass…

    編程 2025-04-27
  • Python解鎖Wi-Fi密碼

    想要解鎖Wi-Fi密碼,你需要使用Python編程語言。Python是一種高層次、面向對象、解釋型的動態編程語言。許多人都可以輕鬆學習Python,並用它來編寫各種各樣的程序。在本…

    編程 2025-04-27
  • Python隨機密碼生成代碼

    本文將會從以下幾個方面對Python隨機密碼生成代碼進行詳細闡述: 一、密碼生成原理 密碼生成的原理是利用隨機數生成器生成隨機字符或數字,根據一定的規則組合成所需要的密碼。 在Py…

    編程 2025-04-27
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分布式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Java BigDecimal 精度詳解

    一、基礎概念 Java BigDecimal 是一個用於高精度計算的類。普通的 double 或 float 類型只能精確表示有限的數字,而對於需要高精度計算的場景,BigDeci…

    編程 2025-04-25

發表回復

登錄後才能評論