Ubuntu PostgreSQL安裝和配置

來源:互聯網
上載者:User

標籤:grant   sse   auto   local   nbsp   tar   com   logs   ima   

1、安裝

使用如下命令,會自動安裝最新版,這裡為9.5

sudo apt-get install postgresql

安裝完成後,預設會:

(1)建立名為"postgres"的Linux使用者

(2)建立名為"postgres"、不帶密碼的預設資料庫帳號作為資料庫管理員

(3)建立名為"postgres"的表

安裝完成後的一些預設資訊如下:

config /etc/postgresql/9.5/main 
data /var/lib/postgresql/9.5/main 
locale en_US.UTF-8 
socket /var/run/postgresql 
port 5432

 

2、psql命令

安裝完後會有PostgreSQL的用戶端psql,通過 sudo -u postgres psql 進入,提示符變成: postgres=#  

在這裡可用執行SQL語句和psql的基本命令。可用的基本命令如下:

\password:設定密碼\q:退出\h:查看SQL命令的解釋,比如\h select。\?:查看psql命令列表。\l:列出所有資料庫。\c [database_name]:串連其他資料庫。\d:列出當前資料庫的所有表格。\d [table_name]:列出某一張表格的結構。\du:列出所有使用者。\e:開啟文字編輯器。\conninfo:列出當前資料庫和串連的資訊。

 

二、修改資料庫預設帳號的密碼1、登入

使用psql命令登入資料庫的命令為:

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

上面命令的參數含義如下:-U指定使用者,-d指定資料庫,-h指定伺服器,-p指定連接埠。

輸入上面命令以後,系統會提示輸入dbuser使用者的密碼。

psql命令存在簡寫形式

如果當前Linux系統使用者,同時也是PostgreSQL使用者,則可以省略使用者名稱(-U參數的部分)

如果PostgreSQL內部還存在與當前系統使用者同名的資料庫,則資料庫名也可以省略。

2、修改預設管理員帳號的密碼

以Linux使用者"postgres"的身份(此時只有該使用者有psql命令)執行psql用戶端,進入該用戶端的提示符介面(這裡系統使用者名稱、資料庫使用者名稱、資料庫名都為postgres,故可採用簡寫形式)

sudo -u postgres psql

postgres=# alter user postgres with password ‘123456‘;

這樣,管理員"postgres"的密碼就為"123456"。

退出psql用戶端命令:\q

若要刪除該管理員的密碼,則可用命令:sudo -u postgres psql -d postgres

 

三、修改Linux使用者的密碼

這個其實與安裝postgresql關係不大。

以Linux使用者"postgres"為例,對其運行passwd命令:

[email protected]:/etc/postgresql/9.5/main$ sudo -u postgres passwd //也可以 sudo passwd postgres
Changing password for postgres.(current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully

 

四、設定資料庫以允許遠端連線訪問

 安裝完成後,預設只能本地才能串連資料庫,其他機子訪問不了,需要進行配置。

1、修改監聽地址
sudo gedit /etc/postgresql/9.5/main/postgresql.conf 

將 #listen_addresses = ‘localhost‘ 的注釋去掉並改為 listen_addresses = ‘*‘ 

2、修改可訪問使用者的IP段
sudo gedit /etc/postgresql/9.5/main/pg_hba.conf 

在檔案末尾添加: host all all 0.0.0.0 0.0.0.0 md5 ,表示運行任何IP串連

3、重啟資料庫
sudo /etc/init.d/postgresql restart

 

 

其他:系統管理使用者、建立資料庫等

五、添加新使用者和新資料庫法一:使用PostgreSQL用戶端psql

運行系統使用者"postgres"的psql命令,進入用戶端:

sudo -u postgres psql

建立使用者"xiaozhang"並設定密碼:

postgres=# create user xiaozhang with password ‘123456‘;

建立資料庫exampledb,所有者為xiaozhang:

postgres=# create database exampledb owner xiaozhang;

將exampledb資料庫的所有許可權賦予xiaozhang,否則xiaozhang只能登入psql,沒有任何資料庫操作許可權:

grant all privileges on database exampledb to xiaozhang;
法二:使用shell命令列

安裝PostgreSQL後提供了createuser和createdb命令列程式。

首先建立資料庫使用者"xiaozhang1",並指定為超級使用者:

sudo -u postgres createuser --superuser xiaozhang1;

接著登入psql控制台設定其密碼後退出:

[email protected]:~$ sudo -u postgres psqlpsql (9.5.3)Type "help" for help.postgres=# \password xiaozhang1;Enter new password: Enter it again: postgres=# \q

然後在shell命令列下建立資料庫並指定所有者:

sudo -u postgres createdb -O xiaozhang1 exampledb1;
法三:使用paadmin3以管理員串連資料庫後建立

 

經過法一、法二操作後,執行  postgres=# \du  得到使用者列表如下:

執行 postgres=# \l 得到資料庫列表如下:

若要刪除使用者(如刪除xiaozhang)可先 postgres=# drop database example; 再 postgres=# drop user xiaozhang; 。

六、基本資料庫操作命令
# 建立新表 CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);# 插入資料 INSERT INTO user_tbl(name, signup_date) VALUES(‘張三‘, ‘2013-12-22‘);# 選擇記錄 SELECT * FROM user_tbl;# 更新資料 UPDATE user_tbl set name = ‘李四‘ WHERE name = ‘張三‘;# 刪除記錄 DELETE FROM user_tbl WHERE name = ‘李四‘ ;# 添加欄位 ALTER TABLE user_tbl ADD email VARCHAR(40);# 更新結構 ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;# 更名欄位 ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;# 刪除欄位 ALTER TABLE user_tbl DROP COLUMN email;# 表格更名 ALTER TABLE user_tbl RENAME TO backup_tbl;# 刪除表格 DROP TABLE IF EXISTS backup_tbl;

Ubuntu PostgreSQL安裝和配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.