1、介紹html
PostgreSQL是以加州大學伯克利分校計算機系開發的POSTGRES, Version 4.2爲基礎的對象關係型數據庫管理系統(ORDBMS)。POSTGRES開創的許多概念在好久之後纔出如今商業數據庫中。PostgreSQL是最初伯克利代碼的一個開放源碼的繼承者。它支持大部分SQL標準而且提供了許多其它現代特性:復雜查詢、外鍵、觸發器、可更新的視圖、事務完整性、多版本並發控制。另外,PostgreSQL能夠用許多方法進行擴展,好比經過增長新的:數據類型、函數、操做符、聚合函數、索引方法、過程語言;而且,由於許可證的靈活,任何人均可以以任何目的無償使用、修改、分發PostgreSQL,不論是私用、商用、仍是學術研究使用。sql
系統平臺:CentOS release 6.5 (Final)shell
PostgreSQL版本:Postgresql 9.4.5數據庫
yum安裝bash
若是是默認yum 安裝的話,會安裝較低版本的PostgreSQL 8.4,這不符合咱們的要求。服務器
而這裏咱們選擇使用官方提供的PostgreSQL Yum Repository 來安裝最新版本的PostgreSQL。編輯器
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函數
2 安裝PostgreSQLpost
[root@kvm ~]# yum install postgresql94-server postgresql94-contrib
3 初始化數據庫
4 啓動數據庫
初次安裝後,PostgreSQl數據庫默認會建立一個postgres的數據庫用戶做爲數據庫的管理員,默認密碼爲空,值得注意的是,與此同時還生成了一個名爲postgres的Linux系統用戶。
這裏咱們介紹兩種經常使用的建立用戶和數據庫的方法。
首先切換到postgres用戶下
使用psql命令登錄PostgreSQL控制檯
這時至關於使用系統用戶postgres同名的數據庫用戶的身份登錄數據庫,因爲初始密碼爲空因此不須要輸入密碼,假如系統提示符變成「postgres=#」,表示這時已經進入了數據庫控制檯。
2.1.1 爲postgres用戶設置一個密碼
postgres=# alter user postgres with password 'postgres';或者 \password postgres
2.1.2 建立一個新數據庫用戶
postgres=# create user zylhz with password 'zylhz';
2.1.3 查看數據庫存在的用戶及密碼
postgres=# select * from pg_user;
postgres=# select * from pg_shadow;
2.1.4 建立數據庫
postgres=# create database zylhz;
2.1.5 建立數據庫並指定全部者爲zylhz
postgres=# create database zylhzcom owner zylhz;
2.1.6 查看存在的數據庫
postgres=# \l
2.1.7 賦zylhzcom數據庫的全部權爲zylhz
postgres=# grant ALL privileges on database zylhzcom to zylhz;
2.1.8 切換至zylhz數據庫
postgres=# \c zylhz
2.1.9 建立表並查看已建立的表
zylhz=# create table test (id integer,name text);
2.1.10 插入數據
zylhz=# insert into test values (2,'zylhzcom');
2.1.11 退出控制檯
zylhz=# \q 或者 ctrl+d
添加新用戶和新數據庫,除了在postgreSQL控制檯內,還能夠在shell命令行下完成。這裏要使用的是PostgreSQL提供的命令行程序createuser和createdb。
2.2.1 建立數據庫用戶,並指定其爲超級用戶
[root@kvm ~]# sudo -u postgres createuser -W -s zylhz3
2.2.2 登錄數據庫平臺,設置密碼
postgres=# \password zylhz3
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
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 永遠不提示輸入口令
首先咱們前面已經簡單演示了postgresql的登錄
[root@kvm ~]# psql -d zylhzcom1 -U zylhz3 -h 127.0.0.1 -p 5432
上面命令的參數含義以下:-U指定用戶,-d指定數據庫,-h指定服務器,-p指定端口
輸入以上的命令以後,系統會提示輸入zylhz3的密碼,輸入正確,就能夠登陸控制檯了。
有同窗可能會遇到這樣的問題:看下圖
其實這個問題是由於postgresql在認證文件中有一個認證標示須要本身選擇配置的,因此這裏只須要修改認證文件/var/lib/pgsql/9.4/data/pg_hba.conf便可
[root@kvm ~]# vi /var/lib/pgsql/9.4/data/pg_hba.conf
把這個配置文件中的認證 METHOD的ident修改成password,能夠實現用帳戶和密碼來訪問數據庫
其中這個認證標示有"trust", "reject", "md5", "password", "gss", "sspi"這些,你能夠按照本身的方式進行設置便可。
psql命令存在簡寫形式。若是當前Linux系統用戶,同時也是PostgreSQL用戶,則能夠省略用戶名(-U參數的部分)。舉例來講,個人Linux系統用戶名爲zylhz,且PostgreSQL數據庫存在同名用戶,則我以zylhz身份登陸Linux系統後,能夠直接使用下面的命令登陸數據庫,且不須要密碼。
除了前面已經用到的\password命令(設置密碼)和\q命令(退出)之外,控制檯還提供一系列其餘命令。
\h: 查看SQL命令的解釋,好比\h select。 \?: 查看psql命令列表。 \l: 列出全部數據庫。 \c [database_name]: 鏈接其餘數據庫。 \d: 列出當前數據庫的全部表格。 \d [table_name]: 列出某一張表格的結構。 \du 列出全部用戶。 \e: 打開文本編輯器。 \conninfo 列出當前數據庫和鏈接的信息。 \password [user] 設置用戶的密碼 \q 退出