PostgreSQL新手入門

1、介紹html

PostgreSQL是以加州大學伯克利分校計算機系開發的POSTGRES, Version 4.2爲基礎的對象關係型數據庫管理系統(ORDBMS)POSTGRES開創的許多概念在好久之後纔出如今商業數據庫中。PostgreSQL是最初伯克利代碼的一個開放源碼的繼承者。它支持大部分SQL標準而且提供了許多其它現代特性:雜查詢、鍵、器、可更新的視圖、完整性、多版本並控制。另外,PostgreSQL能夠用許多方法進行擴展,好比經過增長新的:數據型、函數、操做符、聚合函數、索引方法、過程語言;而且,由於許可證的靈活,任何人均可以以任何目的無償使用、修改、分發PostgreSQL,不論是私用、商用、仍是學術研究使用。sql

2、系統環境

系統平臺:CentOS release 6.5 (Final)shell

PostgreSQL版本:Postgresql 9.4.5數據庫

3、安裝方式

yum安裝bash

4、安裝過程

1yum安裝

若是是默認yum 安裝的話,會安裝較低版本的PostgreSQL 8.4,這不符合咱們的要求。服務器

圖片 1.png

而這裏咱們選擇使用官方提供的PostgreSQL Yum Repository 來安裝最新版本的PostgreSQL編輯器

  1. 1   安裝PostgreSQL yum Repositoryide

[root@kvm ~]# yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm函數

  1. 2   安裝PostgreSQLpost

[root@kvm ~]# yum install postgresql94-server postgresql94-contrib

  1. 3   初始化數據庫


1447846193445409.png

  1. 4   啓動數據庫

1447846193728560.png

2、學習使用PostgreSQL

初次安裝後,PostgreSQl數據庫默認會建立一個postgres的數據庫用戶做爲數據庫的管理員,默認密碼爲空,值得注意的是,與此同時還生成了一個名爲postgresLinux系統用戶。

這裏咱們介紹兩種經常使用的建立用戶和數據庫的方法。

2.1 使用PostgreSQL控制檯來操做

首先切換到postgres用戶下

1447846193613527.png

使用psql命令登錄PostgreSQL控制檯

1447846193714632.png

這時至關於使用系統用戶postgres同名的數據庫用戶的身份登錄數據庫,因爲初始密碼爲空因此不須要輸入密碼,假如系統提示符變成「postgres=#」,表示這時已經進入了數據庫控制檯。

2.1.1 postgres用戶設置一個密碼

postgres=# alter user postgres with password 'postgres';或者 \password postgres

1447846193261132.png

2.1.2 建立一個新數據庫用戶

postgres=# create user zylhz with password 'zylhz';

1447846193445797.png

2.1.3 查看數據庫存在的用戶及密碼

postgres=# select * from pg_user;

postgres=# select * from pg_shadow;

1447846194431645.png

1447846193944542.png

2.1.4 建立數據庫

postgres=# create database zylhz;

1447846193426396.png

2.1.5 建立數據庫並指定全部者爲zylhz

postgres=# create database zylhzcom owner zylhz;

1447846193264488.png

2.1.6 查看存在的數據庫

postgres=# \l

1447846193290798.png

2.1.7 zylhzcom數據庫的全部權爲zylhz

postgres=# grant ALL privileges on database zylhzcom to zylhz;

1447846193144508.png

2.1.8 切換至zylhz數據庫

postgres=# \c zylhz

1447846193751143.png

2.1.9 建立表並查看已建立的表

zylhz=# create table test (id integer,name text);

1447846193708484.png

2.1.10 插入數據

zylhz=# insert into test values (2,'zylhzcom');

1447846193727079.png

 2.1.11 退出控制檯

zylhz=# \q 或者 ctrld

2.2 使用shell命令行

添加新用戶和新數據庫,除了在postgreSQL控制檯內,還能夠在shell命令行下完成。這裏要使用的是PostgreSQL提供的命令行程序createusercreatedb

2.2.1 建立數據庫用戶,並指定其爲超級用戶

[root@kvm ~]# sudo -u postgres  createuser -W -s zylhz3

2.2.2 登錄數據庫平臺,設置密碼

postgres=# \password zylhz3


圖片 1.png

2.2.3 建立數據庫,並指定全部者

[root@kvm ~]# sudo -u postgres createdb -O zylhz3 zylhzcom1

2.2.4 登錄數據庫

[root@kvm ~]# psql -d zylhzcom1 -U zylhz3 -h 127.0.0.1 -p 5432

圖片 2.png

createuser命令介紹

  createuser 建立一個新的PostgreSQL用戶。

使用方法:

  createruser [選項]… [用戶名]

選項:


  -c, --connection-limit=N  角色的連續限制(缺省:沒有限制)
  -d, --createdb            此角色能夠建立新數據庫
  -r, --createrole          這個角色能夠建立新的角色
  -s, --superuser           角色將是超級用戶
  -h, --host=HOSTNAME       數據庫服務器所在機器的主機名或者套接字目錄
  -p, --port=PORT           數據庫服務器端口號
  -U, --username=USERNAME   聯結用戶
  -W,--password             強制提示輸入口令
  -w, -no-password          永遠不提示輸入口令

createdb命令介紹

   createdb 建立一個PostgreSQL數據庫

使用方法:

   created [選項]… [數據庫名稱] [描述]

選項:

   -D, --tablespace=TABLESPACE  數據庫默認表空間
   -e, --echo                   顯示發送到服務端的命令
   -E, --encoding=ENCODING      數據庫編碼
   -O, --owner=OWNER            新數據庫的所屬用戶
   -h, --host=HOSTNAME          數據庫服務器所在機器的主機名或者套接字目錄
   -p, --port=PORT              數據庫服務器端口號
   -U, --username=USERNAME      聯結用戶
   -W,--password                強制提示輸入口令
   -w, -no-password             永遠不提示輸入口令

3PostgreSQL的登錄問題

首先咱們前面已經簡單演示了postgresql的登錄

[root@kvm ~]# psql -d zylhzcom1 -U zylhz3 -h 127.0.0.1 -p 5432

圖片 3.png

上面命令的參數含義以下:-U指定用戶,-d指定數據庫,-h指定服務器,-p指定端口

輸入以上的命令以後,系統會提示輸入zylhz3的密碼,輸入正確,就能夠登陸控制檯了。

注意一:

有同窗可能會遇到這樣的問題:看下圖

圖片 4.png

其實這個問題是由於postgresql在認證文件中有一個認證標示須要本身選擇配置的,因此這裏只須要修改認證文件/var/lib/pgsql/9.4/data/pg_hba.conf便可

[root@kvm ~]# vi /var/lib/pgsql/9.4/data/pg_hba.conf

把這個配置文件中的認證 METHODident修改成password,能夠實現用帳戶和密碼來訪問數據庫

其中這個認證標示有"trust", "reject", "md5", "password", "gss", "sspi"這些,你能夠按照本身的方式進行設置便可。

注意二:

psql命令存在簡寫形式。若是當前Linux系統用戶,同時也是PostgreSQL用戶,則能夠省略用戶名(-U參數的部分)。舉例來講,個人Linux系統用戶名爲zylhz,且PostgreSQL數據庫存在同名用戶,則我以zylhz身份登陸Linux系統後,能夠直接使用下面的命令登陸數據庫,且不須要密碼。


4、控制檯命令

除了前面已經用到的\password命令(設置密碼)和\q命令(退出)之外,控制檯還提供一系列其餘命令。


\h:                    查看SQL命令的解釋,好比\h select。
\?:                    查看psql命令列表。
\l:                    列出全部數據庫。
\c [database_name]:    鏈接其餘數據庫。
\d:                    列出當前數據庫的全部表格。
\d [table_name]:       列出某一張表格的結構。
\du                     列出全部用戶。
\e:                    打開文本編輯器。
\conninfo               列出當前數據庫和鏈接的信息。
\password [user]        設置用戶的密碼
\q                      退出
相關文章
相關標籤/搜索