Debian中PostgreSQL資料庫安裝配置執行個體_PostgreSQL

來源:互聯網
上載者:User

用慣了MySQL後,想嘗試使用下PostgreSQL,據說這玩意兒也很強大,我在網上搜尋了下相關中文書籍,可惜相關書籍遠遠沒有MySQL那麼多,不過我在官方找到了由志願者翻譯的文檔(參考9.1文檔翻譯項目),說實話我英文文檔閱讀能力還是比較糾結的,所以有中文文檔當然優先中文了。

在Debian下可以通過apt-get命令直接安裝:

複製代碼 代碼如下:

sudo apt-get install postgresql postgresql-client postgresql-server-dev-all

安裝完成後,PostgreSQL預設就建立了名為postgres使用者,這個和MySQL的root以及SQL Server的sa賬戶一樣,是超級管理員賬戶,與MySQL不一樣的是,其還建立了postgres的Unix系統賬戶,和SQL Server的master資料庫一樣,PostgreSQL的預設資料庫是template1,你可以用命令列管理工具psql來管理它,當然前提是要切換到postgres的系統賬戶:

複製代碼 代碼如下:

# su - postgres
$ psql

或者你可以通過sudo來一步到位的以postgres身份運行psql,省得切換來切換去:

複製代碼 代碼如下:
sudo su postgres -c psql template1

完成上述命令後你就應該可以看到操作資料庫的命令介面了,注意\q是退出命令,每句SQL語句以英文分號結束。如果要串連指定的資料庫請使用形如\c databasename的命令。

好,讓我們輸入\q先退出這個命令介面,接下來我們需要建立一個普通賬戶,因為建議不直接用超級管理員postgres賬戶來操作我們自己的資料庫。

首先建立名為mypguser的系統賬戶。

複製代碼 代碼如下:
sudo adduser mypguser

其次使用postgres串連template1並進入psql命令介面:
複製代碼 代碼如下:
sudo su postgres -c psql template1

建立新的資料庫使用者、新資料庫,並賦予新使用者新資料庫的全部許可權:
複製代碼 代碼如下:
postgres=# CREATE USER mypguser WITH PASSWORD 'mypguserpass';
postgres=# CREATE DATABASE mypgdatabase;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mypgdatabase to mypguser;

當然上述的操作可以分別以shell命令createuser mypguser以及createdb mypgdatabase來實現:

複製代碼 代碼如下:

# createuser mypguser    #from regular shell
# su - mypguser
$ psql postgres
postgres=# CREATE DATABASE mypgdatabase;

完成這些後讓我們使用\q命令退出psql控制台。

複製代碼 代碼如下:
postgres=# \q

下面我們就可以用指定賬戶管理我們的資料庫了:
複製代碼 代碼如下:

sudo su mypguser -c 'psql -d mypgdatabase'

等等,我們還有最重要的一步就是重設我們的postgres賬戶密碼,通過下面的命令:

複製代碼 代碼如下:

sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'yourpassword'
template1=# \q

不要忘了還有系統賬戶的密碼:
複製代碼 代碼如下:
sudo passwd -d postgres

好了,到這裡簡單的安裝及建立賬戶已經講解完畢了,介紹一下可能的錯誤:

如果出現下面的錯誤:

複製代碼 代碼如下:

psql: FATAL:  Ident authentication failed for user "mypguser"

請編輯你的pg_hba.conf,這個檔案一般位於/etc/postgresql/X.Y/main/pg_hba.conf,X.Y是你的PostgreSQL的版本號碼,將下面行的peer改為trust:

複製代碼 代碼如下:
local   all    all    trust     # replace ident or peer with trust

如果出現下面的錯誤:
複製代碼 代碼如下:

psql: FATAL: Peer authentication failed for user "mypguser"


請仍然修改pg_hba.conf檔案,該下面行的peer為md5:

複製代碼 代碼如下:
local   all    all    md5       # replace peer with md5

完成上面的修改後請重新載入postgresql:
複製代碼 代碼如下:

/etc/init.d/postgresql reload

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.