一、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的加密功能等內容。希望本文可以對您有所幫助!