0
在新服務器中建立數據庫的正確方法是什麼?我目前在Ubuntu 14.04上使用EC2實例。這是我迄今所做的:如何在postgresql中正確配置數據庫權限
首先install PostgreSQL的
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib
在此基礎上answer,我執行以下命令:
$ su - postgres # or sudo -u postgres -i
$ psql template1
template1=# CREATE USER tester WITH PASSWORD 'test_password';
template1=# GRANT ALL PRIVILEGES ON DATABASE "test_database" to tester;
template1=# \q
然而,當我想登錄「測試儀',我得到這個錯誤:
$ psql -U tester test_database
psql: FATAL: Peer authentication failed for user "tester"
Accordin克至的文件,我需要改變pg_hba.conf
文件:
$ sudo vi /etc/postgresql/9.5/main/pg_hba.conf
,並更改以下行:
# "local" is for Unix domain socket connections only
local all all peer
使用「MD5」,而不是「同行」。更改該文件後,需要重新啓動服務器:
sudo service postgresql restart
這樣,我終於能夠連接到數據庫。但是,由於我不瞭解其中的一些步驟,我仍然想知道是否有更好的方法來實現這一點,以及是否會損害流程中數據庫的安全性。
你沒有重新啓動本地數據庫。只是重新加載(以獲取hba.conf中的更改)...如果我沒有錯誤的peer會在操作系統中需要相同的用戶,而md5只是檢查密碼 –
和btw是什麼問題?如果通過爲本地連接設置md5而不是peer來降低安全性?那麼不,你不要 –
這是問題的一部分。這是爲數據庫分配新用戶的最佳方式嗎?正如你所看到的,我只是遵循不同的教程來完成這個過程,但我已經閱讀了這個過程的變體。 –