我postgresql使用標準安裝了rdbms:
sudo apt-get install postgresql
現在我可以看到二進制檔案:
-rwxr-xr-x 1 root root /usr/lib/postgresql/12/bin/postgres
這意味著root用戶擁有它。
但是:在檔案中
您需要成為安裝 PostgreSQL 的作業系統用戶(通常是 postgres)
我必須切換到postgres用戶才能連接到服務器以role使用我的名字創建新的。
那么有人能解釋一下這個矛盾嗎?還是我錯過了什么?
uj5u.com熱心網友回復:
當你這樣做時:
sudo apt-get install postgresql
它正在以root用戶身份安裝包(postgresql)檔案。安裝還將創建一個系統用戶postgres。創建服務器集群時,它將使用分配給每個Create clusterpostgres的用戶權限的檔案來完成,并且它將作為每個Running server的用戶運行。事實上 Postgres 會拒絕以用戶身份運行。要查看服務器正在運行的用戶是什么:postgresroot
ps aux | grep postgres
現在除了系統用戶之外,還創建postgres了一個資料庫用戶。postgres不一定要成為系統用戶postgres才能連接資料庫,您只需postgres使用-U postgreswith以資料庫用戶身份連接即可psql。
僅供參考,使用名稱postgres作為用戶是一種約定而非要求,因此您可能會在其他包裝系統中看到一些例外情況。例如,MacOS 包postgres.app使名稱成為您安裝的系統用戶名。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/418795.html
標籤:
上一篇:如果有多個Position,則只找到主要的,否則取另一個
下一篇:為什么這個索引掃描這么慢?
