ubuntu postgresql配置

安裝postgresql

正常情況下可以通過命令直接安裝postgresql

sudo apt-get install postgresql-9.*

unbutu 14.04版本默認的是postgresql-9.3,如果自己本地數據庫中存在postgresql事物等新關鍵字需要在ubuntu14.04上安裝其他版本可以通過以下方法:

  • 添加postgresql repository
sudo add-apt-repository "deb https://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"
  • 更新并安裝postgresql-9.6
sudo apt-get update
sudo apt-get install postgresql-9.6

注意:
如果本地已經安裝了postgresql其他版本,如果再安裝postgresql-9.6,其默認端口會修改(非5432),這個特別需要注意,否則其他配置完成可能因為端口問題導致連接不上

添加新用戶和數據庫

  • 創建系統新用戶
sudo adduser dbuser
  • 切換到postgre用戶
sudo su - postgres
  • 使用psql命令登錄PostgreSQL控制臺
psql
  • 修改、設置postgres密碼
\password postgres

按照提示輸入密碼,此密碼是連接必須的,需要記住

  • 創建數據庫用戶dbuser(剛才創建的是Linux系統用戶),并設置密碼
create user dbuser with password 'password';
  • 創建數據庫并指定所有者
create database testdb owner dbuser;
  • 給testdb數據庫的所有權限都賦予dbuser,否則dbuser只能登錄控制臺,沒有任何數據庫操作權限。
grant all privileges on database testdb to dbuser;
  • 數據庫刪除
drop database testdb
  • 控制臺命令
    • \h:查看SQL命令的解釋,比如\h select。
    • ?:查看psql命令列表。
    • \l:列出所有數據庫。
    • \c [database_name]:連接其他數據庫。
    • \d:列出當前數據庫的所有表格。
    • \d [table_name]:列出某一張表格的結構。
    • \du:列出所有用戶。
    • \e:打開文本編輯器。
    • \conninfo:列出當前數據庫和連接的信息。
  • 退出
    使用\q命令退出控制臺(也可以直接按ctrl+D)

數據庫操作

# 創建新表 
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;

數據庫遠程訪問設置

  • 修改postgresql.conf
    postgresql.conf存放位置在/etc/postgresql/9.x/main下,這里的x取決于你安裝PostgreSQL的版本號,編輯或添加下面一行,使PostgreSQL可以接受來自任意IP的連接請求。
listen_addresses = '*'      # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost'; use '*' for all

另外如果需要可以設置默認訪問端口

port = 5432             # (change requires restart)
  • 修改pg_hba.conf
    pg_hba.conf,位置與postgresql.conf相同,雖然上面配置允許任意地址連接PostgreSQL,但是這在pg中還不夠,我們還需在pg_hba.conf中配置服務端允許的認證方式。任意編輯器打開該文件,編輯或添加下面一行。
# TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD
host  all  all 0.0.0.0/0 md5

默認pg只允許本機通過密碼認證登錄,修改為上面內容后即可以對任意IP訪問進行密碼驗證。對照上面的注釋可以很容易搞明白每列的含義,具體的支持項可以查閱文末參考引用。

  • 重啟service
    完成上兩項配置后執行sudo service postgresql restart重啟PostgreSQL服務后,允許外網訪問的配置就算生效了。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • About:PostgreSQL About 《PostgreSQL 源碼分析系列》 PostgreSQL 源碼分...
    ty4z2008閱讀 8,222評論 1 40
  • 在上一章中我們講了怎么安裝PostgreSQL,在數據庫安裝完成及啟動數據庫服務以后,需要連接到數據庫上對數據庫里...
    shark_tear閱讀 92,902評論 3 2
  • 目錄 架構圖 部署詳情 postgresql的安裝與配置 pgpool的安裝與配置 寫在安裝前 postgresq...
    OrangeLoveMilan閱讀 27,749評論 4 15
  • 更新源apt-get update 安裝apacheapt-get install apache2安裝完成,運行如...
    iscona閱讀 827評論 0 0
  • ———寫在“剽悍行動營”結束之際 時間過得真快啊,22天前剛剛進入行動營的時候,我還真有點惴惴不安,生怕自己堅持不...
    張鶴凡閱讀 786評論 1 3