茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    PostgreSQL安裝和簡單使用
    來源:易賢網(wǎng) 閱讀:1933 次 日期:2014-05-21 20:20:45
    溫馨提示:易賢網(wǎng)小編為您整理了“PostgreSQL安裝和簡單使用”,方便廣大網(wǎng)友查閱!

    ostgreSQL是現(xiàn)在比較流行的數(shù)據(jù)庫之一,這個起源于伯克利(BSD)的數(shù)據(jù)庫研究計(jì)劃目前已經(jīng)衍生成一項(xiàng)國際開發(fā)項(xiàng)目,并且有非常廣泛的用戶。

    據(jù)我了解國內(nèi)四大國產(chǎn)數(shù)據(jù)庫,其中三個都是基于PostgreSQL開發(fā)的。并且,因?yàn)樵S可證的靈活,任何人都可以以任何目的免費(fèi)使用,修改,和分發(fā)PostgreSQL,不管是私用,商用,還是學(xué)術(shù)研究使用。本文只是簡單介紹一下postgresql的安裝和簡單的使用,語法方面涉及的比較少,以方便新手上路為目的。1.系統(tǒng)環(huán)境和安裝方法;

    PostgreSQL的安裝方法比較靈活,可以用源碼包安裝,也可以用您使用的發(fā)行版所帶的軟件包來安裝,還可以采用在線安裝……1.1系統(tǒng)環(huán)境:UbuntuLinux7.04;Fedora;Slackware;1.2安裝;

    Ubuntu下安裝

    軟件其實(shí)很簡單,用新立得軟件包管理器搜索psql便能查到postgresql-client-8.2(同時可以搜到8.1版本,哪一個都可以),選中-應(yīng)用即可?;蛘咴诮K端下輸入

    xxx@localhost$sudoapt-getinstallpostgresql-8.2

    Slackware下安裝:

    請到linuxpackages.net上查找您所用系統(tǒng)的對應(yīng)版本,用pkginstall來安裝,或您安裝slap-get工具,在線自動安裝;要用到root權(quán)限,可以通用sudo。關(guān)于su和sudo的參考;《Linux系統(tǒng)中的超級權(quán)限的控制》

    安裝postgresql的軟件包,可用下面的辦法;

    xxx@localhost#pkginstallpost*.tgz

    xxx@localhost#slapt-get--installpostgresql-8.2.4

    在Fedora中,您可以用軟件包在線安裝工具來安裝

    注:這樣就安裝好了PostgreSQL8.2了,該安裝將自動創(chuàng)建一個缺省的數(shù)據(jù)庫集群(pgsqldb.org中的譯法)“main”,且生成一個數(shù)據(jù)庫超級用戶postgres。2.啟動PostgreSQL數(shù)據(jù)庫服務(wù)器;2.1在流行Linux發(fā)行版的啟動方法;

    在Ubuntu系統(tǒng)中,服務(wù)器啟動腳本放在/etc/init.d目錄中,您可以用下面的方法來啟動,對于Fedora和Gentoo也是類似的;

    xxx@localhost~#/etc/init.d/postgresql-8.2start注:啟動;

    xxx@localhost~#/etc/init.d/postgresql-8.2restart注:重啟;

    xxx@localhost~#/etc/init.d/postgresql-8.2stop注:停止;

    xxx@localhost~#/etc/init.d/postgresql-8.2status注:查看狀態(tài);

    在Slackware中,PostgreSQL的啟動腳本放在/etc/rc.d目錄中,如果您用從linuxpackages.net上下載的軟件包或在線安裝的軟件包;

    xxx@localhost~#/etc/rc.d/rc.postgresstart

    如果您用源碼包編譯安裝,啟動PostgreSQL,請查看PostgreSQL官方文檔;2.2關(guān)于PostgreSQL啟動和存儲目錄;

    啟動PostgreSQL服務(wù)器時,一般是以postgres用戶來啟動的,自編譯安裝的除外;對于數(shù)據(jù)庫的存儲一般是放在/var/lib中的相關(guān)目錄,比如/var/lib/pgsql或/var/lib/postgresql/8.2/main/目錄等;不同的發(fā)行版可能不太一樣,不過還是大同小異,您可以通過修改數(shù)據(jù)存儲位置把數(shù)據(jù)庫存在其它地方;3.創(chuàng)建用戶添加用戶命令格式。

    createuser是SQL命令CREATEUSER的封裝。

    命令:createuser[-a][-A][-d][-D][-e][-P][-h主機(jī)名][-pport]用戶名參數(shù)說明:

    [-a]:允許創(chuàng)建其他用戶,相當(dāng)于創(chuàng)建一個超級用戶;

    [-A]:不允許此用戶創(chuàng)建其他用戶;

    [-d]:允許此用戶創(chuàng)建數(shù)據(jù)庫;

    [-D]:不允許此用戶創(chuàng)建數(shù)據(jù)庫;

    [-e]:將執(zhí)行過程顯示到Shell上;

    [-P]:創(chuàng)建用戶時,同時設(shè)置密碼;

    [-h主機(jī)名]:為某個主機(jī)上的Postgres創(chuàng)建用戶;

    [-pport]:與-h參數(shù)一同使用,指定主機(jī)的端口。3.1添加用戶;3.1.1不帶參數(shù)的創(chuàng)建用戶;

    xxx@localhost~$createusertestuser

    Shallthenewuserbeallowedtocreatedatabases?(y/n)n--------是否可以創(chuàng)建數(shù)據(jù)庫:否

    Shallthenewuserbeallowedtocreatemorenewusers?(y/n)n---------是否可以創(chuàng)建新用戶:否

    CREATEUSER

    注:不帶參數(shù)創(chuàng)建用戶時,Postgres會詢問此用戶的權(quán)限,上面的例子創(chuàng)建了一個普通用戶;3.1.2為指定的主機(jī)和端口上創(chuàng)建用戶;

    xxx@localhost~$createuser-h172.28.18.51-p5000-D-A-etestuser

    CREATEUSERjoeNOCREATEDBNOCREATEUSER;

    CREATEUSER

    注:這個命令為主機(jī)172.28.18.51的5000端口創(chuàng)建用戶testuser,此用戶不可以創(chuàng)建數(shù)據(jù)庫和其他用戶。3.1.3創(chuàng)建超級用戶;

    xxx@localhost~$createuser-P-d-a-etestuser

    Enterpasswordfornewuser:testuser

    Enteritagain:testuser

    CREATEUSERjoePASSWORD'testuser'CREATEDBCREATEUSER;

    CREATEUSER

    注:這個命令在本地創(chuàng)建一個超級用戶(-a),可以創(chuàng)建數(shù)據(jù)庫(-d),同時要求設(shè)置密碼。3.2刪除用戶:

    命令:dropuser[-i][-h][-p][-e]用戶名

    參數(shù)說明:

    [-i]:刪除用戶前,要求確認(rèn);

    [-h主機(jī)名]:刪除某個主機(jī)上的Postgres用戶;

    [-pport]:與-h參數(shù)一同使用,指定主機(jī)的端口;

    [-e]:將執(zhí)行過程顯示到Shell上。3.2.1刪除本地的Postgres用戶;

    xxx@localhost~$dropusertestuser

    DROPUSER3.2.2刪除遠(yuǎn)程Postgres服務(wù)器上的用戶;

    xxx@localhost~$dropuser-p5000-h172.28.18.51-i-etestuser

    User"testuser"andanyowneddatabaseswillbepermanentlydeleted.

    Areyousure?(y/n)y

    DROPUSER"testuser"

    DROPUSER

    注:此命令刪除主機(jī)172.28.18.51(-h)的5000端口(-p)的用戶testuser,并且需要確認(rèn)(-i);4.創(chuàng)建和刪除數(shù)據(jù)庫;4.1創(chuàng)建數(shù)據(jù)庫

    看看您能否訪問數(shù)據(jù)庫服務(wù)器的第一個例子就是試著創(chuàng)建一個數(shù)據(jù)庫;

    要創(chuàng)建一個新的數(shù)據(jù)庫,在我們這個例子里叫mydb,您可以使用下面的命令:

    xxx@localhost~$createdbmydb

    它應(yīng)該生成下面這樣的響應(yīng):

    CREATEDATABASE

    如果這樣,那么這一步就成功了,如果您看到類似下面這樣的信息

    createdb:commandnotfound

    那么就是PostgreSQL沒有安裝好,要么是就根本沒裝上;

    您還可以用其它名字創(chuàng)建數(shù)據(jù)庫。PostgreSQL允許您在一個節(jié)點(diǎn)上創(chuàng)建任意數(shù)量的數(shù)據(jù)庫。數(shù)據(jù)庫名必須是以字母開頭并且小于63個字符長。一個方便的做法是創(chuàng)建和您當(dāng)前用戶名同名的數(shù)據(jù)庫。許多工具假設(shè)該數(shù)據(jù)庫名為缺省數(shù)據(jù)庫名,所以這樣可以節(jié)省您的敲鍵。要創(chuàng)建這樣的數(shù)據(jù)庫,只需要鍵入:

    xxx@localhost~$createdb4.2刪除數(shù)據(jù)庫

    如果您再也不想使用您的數(shù)據(jù)庫了,那么您可以刪除它。比如,如果您是數(shù)據(jù)庫mydb的所有人(創(chuàng)建人),那么您就可以用下面的命令刪除它:

    xxx@localhost~$dropdbmydb

    注:(對于這條命令而言,數(shù)據(jù)庫名不是缺省的用戶名。這樣您就必須聲明它。)這個動作物理上將所有與該數(shù)據(jù)庫相關(guān)的文件都刪除并且不可取消,因此做這件事之前一定要想清楚;5.訪問數(shù)據(jù)庫

    一旦您創(chuàng)建了數(shù)據(jù)庫,您就可以訪問它,您可以運(yùn)行PostgreSQL交互的終端程序,叫psql,它允許您交互地輸入,編輯,和執(zhí)行SQL命令。(圖形化登錄請參見6.Postgresql圖形化管理工具pgAdmin3)5.1激活數(shù)據(jù)庫

    您需要啟動psql,試驗(yàn)剛才的例子。您可以用下面的命令為mydb數(shù)據(jù)庫激活它:

    xxx@localhost~$psqlmydb

    如果您省略了數(shù)據(jù)庫名字,那么它缺省就是您的用戶賬號名字。

    Welcometopsql8.2.4,thePostgreSQLinteractiveterminal.

    Type:\copyrightfordistributionterms

    \hforhelpwithSQLcommands

    \?forhelpwithpsqlcommands

    \gorterminatewithsemicolontoexecutequery

    \qtoquit

    mydb=#

    注:最后一行mydb=#,這個提示符意味著您是數(shù)據(jù)庫超級用戶。5.2幫助和退出數(shù)據(jù)庫

    psql程序有一些不屬于SQL命令的內(nèi)部命令。它們以反斜杠開頭,""。有些這種命令在歡迎信息中列出。比如,您可以用下面的命令獲取各種PostgreSQLSQL命令的幫助語法:

    mydb=>\h

    要退出psql,鍵入

    mydb=>\q

    然后psql就會退出并且給您返回到命令行shell;(要獲取更多有關(guān)內(nèi)部命令的信息,您可以在psql提示符上鍵入\?。)

    6.Postgresql圖形化管理工具pgAdmin3;

    版本:Version1.4.36.1安裝;6.1.1Ubuntu安裝;

    有兩種方法:

    1.在新立得軟件包管理器中搜索pgadmin3,找到pgadmin3--應(yīng)用

    2.終端下輸入命令:

    xxx@xxx-laptop:~$sudoapt-getinstallpgadmin36.1.2其它系統(tǒng)的安裝;

    您可以參考其它系統(tǒng)正常的軟件的安裝方法,起本類似,這里就不多做介紹了;6.2pgAdmin3的簡單使用;

    圖形化管理系統(tǒng)相對比較直觀,您可以在命令行下操作,然后在pgAdmin3下查看效果;6.2.1pgAdmin3的啟動

    您可以在應(yīng)用程序---系統(tǒng)工具中找到pgAdmin3的啟動項(xiàng);

    也可以在命令行下輸入:

    xxx@xxx-laptop:~$/usr/bin/pgadmin3start6.2.2連接已創(chuàng)建的數(shù)據(jù)庫mydb;

    點(diǎn)擊檔案-----新增服務(wù)器,然后在跳出的窗口下輸入:

    地址:localhost

    描述:服務(wù)器名稱(隨意填寫)

    維護(hù)數(shù)據(jù)庫:postgres

    用戶名:自己創(chuàng)建一個(詳情參見創(chuàng)建用戶)

    密碼:和用戶名對應(yīng)(創(chuàng)建用戶時自己創(chuàng)建)

    點(diǎn)擊確定后大家便可以查看postsql已有的數(shù)據(jù)庫了;

    注:pgAdmin3的數(shù)據(jù)庫和終端下創(chuàng)建的數(shù)據(jù)庫是完全同步的(可以用刷新查看效果),pgAdmin3是比較方便的圖形化管理工具,它可以創(chuàng)建圖表,管理數(shù)據(jù)庫等,有關(guān)pgAdmin3的詳細(xì)介紹我們在以后討論,本文主要介紹命令行下的操作。圖形化管理工具能做到的命令行都可以做到,您可以在命令行下創(chuàng)建表,在pgAdmin3上查看是否同步:

    7.創(chuàng)建和刪除表;7.1創(chuàng)建新表;

    創(chuàng)建完數(shù)據(jù)庫之后,您就可以創(chuàng)建新表了,可以通過聲明表的名字和所有字段的名字及其類型來創(chuàng)建表,例如:

    mydb#CREATETABLEweather(

    cityvarchar(80),

    temp_loint,--最低氣溫

    temp_hiint,--最高氣溫

    prcpreal,--降水量

    datedate

    );

    注:您可以在psql里連換行符一起鍵入這些東西。psql可以識別該命令直到分號才結(jié)束,不要忘記“;”

    您可以在SQL命令中自由使用空白(也就是空格,tab,和換行符)。這就意味著您可以用和上面不同的對齊方式鍵入命令。兩個劃線("--")引入注釋。任何跟在它后面的東西直到該行的結(jié)尾都被忽略。SQL是對關(guān)鍵字和標(biāo)識符大小寫不敏感的語言,只有在標(biāo)識符用雙引號包圍時才能保留它們的大小寫屬性。7.2數(shù)據(jù)類型;

    上面例子中的varchar(80)聲明一個可以存儲最長80個字符的任意字符串的數(shù)據(jù)類型。int是普通的整數(shù)類型。real是一種用于存儲單精度浮點(diǎn)數(shù)的類型。date類型應(yīng)該可以自解釋。

    PostgresSQL支持標(biāo)準(zhǔn)的SQL類型int,smallint,real,doubleprecision,char(N),varchar(N),date,time,timestamp和interval,還支持其他的通用類型和豐富的幾何類型。PostgreSQL可以客戶化為定制任意的用戶定義的數(shù)據(jù)類型,您可以參考PostgreSQL的中文文檔來查詢;7.3刪除表;

    如果您不再需要某個表,或者您想創(chuàng)建一個不同的表,那么您可以用下面的命令刪除它:

    mydb#DROPTABLEtablename8.向表中添加行;8.1INSERT;

    INSERT用于向表中添加行,您可以輸入(在數(shù)據(jù)庫中操作):

    mydb#INSERTINTOweatherVALUES('SanFrancisco',46,50,0.25,'1994-11-27');

    注:所有數(shù)據(jù)類型都使用了相當(dāng)明了的輸入格式。那些不是簡單數(shù)字值的常量必需用單引號(')包圍,就象在例子里一樣。8.2point類型輸入;

    point類型要求一個座標(biāo)對作為輸入,如下:

    mydb#INSERTINTOcitiesVALUES('SanFrancisco','(-194.0,53.0)');8.3COPY;

    您還可以使用COPY從文本文件中裝載大量數(shù)據(jù)。這么干通常更快,因?yàn)镃OPY命令就是為這類應(yīng)用優(yōu)化的,只是比INSERT少一些靈活性.比如:

    mydb#COPYweatherFROM'/home/user/weather.txt';

    注:weather.txt是您提前寫好的符合格式標(biāo)準(zhǔn)的表格內(nèi)容文檔;9.查詢一個表;9.1SELECT;

    要從一個表中檢索數(shù)據(jù)就是查詢這個表。SQL的SELECT就是做這個用途的。該語句分為選擇列表(列出要返回的字段部分),表列表(列出從中檢索數(shù)據(jù)的表的部分),以及可選的條件(聲明任意限制的部分)。比如,要檢索表weather的所有行,鍵入:

    SELECT*FROMweather;

    <code>

    輸出結(jié)果:

    <code>

    city|temp_lo|temp_hi|prcp|date

    ---------------+---------+---------+------+------------

    SanFrancisco|46|50|0.25|1994-11-27

    SanFrancisco|43|57|0|1994-11-29

    Hayward|37|54||1994-11-29

    (3rows)

    您可以在選擇列表中寫任意表達(dá)式,而不僅僅是字段列表。比如,您可以:

    SELECTcity,(temp_hi+temp_lo)/2AStemp_avg,dateFROMweather;

    這樣應(yīng)該得出:

    city|temp_avg|date

    ---------------+----------+------------

    SanFrancisco|48|1994-11-27

    SanFrancisco|50|1994-11-29

    Hayward|45|1994-11-29

    (3rows)

    請注意這里的AS子句是如何給輸出字段重新命名的。(AS子句是可選的。)9.2WHERE;

    一個查詢可以使用WHERE子句"修飾",聲明需要哪些行。WHERE子句包含一個布爾(真值)表達(dá)式,只有那些布爾表達(dá)式為真的行才會被返回。允許您在條件中使用常用的布爾操作符(AND,OR,和NOT)。比如,下面的查詢檢索舊金山的下雨天的天氣:

    mydb#SELECT*FROMweather

    WHEREcity='SanFrancisco'ANDprcp>0.0;

    結(jié)果:

    city|temp_lo|temp_hi|prcp|date

    ---------------+---------+---------+------+------------

    SanFrancisco|46|50|0.25|1994-11-27

    (1row)9.3排序;

    您可以要求返回的查詢是排好序的:

    mydb#SELECT*FROMweather

    ORDERBYcity;

    得出結(jié)果:

    city|temp_lo|temp_hi|prcp|date

    ---------------+---------+---------+------+------------

    Hayward|37|54||1994-11-29

    SanFrancisco|43|57|0|1994-11-29

    SanFrancisco|46|50|0.25|1994-11-27

    在這個例子里,排序的順序并非絕對清晰的,因此您可能看到SanFrancisco行隨機(jī)的排序。但是如果您使用下面的語句,那么就總是會得到上面的結(jié)果

    SELECT*FROMweather

    ORDERBYcity,temp_lo;

    您可以要求查詢的結(jié)果按照某種順序排序,并且消除重復(fù)的行輸出:

    mydb#SELECTDISTINCTcity

    FROMweather;

    得出結(jié)果:

    city

    ---------------

    Hayward

    SanFrancisco

    (2rows)

    再次聲明,結(jié)果行的順序可能是隨機(jī)的。10.視圖;

    假設(shè)您的應(yīng)用對天氣記錄和城市位置的組合列表特別感興趣,而您又不想每次鍵入這些查詢。那么您可以在這個查詢上創(chuàng)建一個視圖,它給這個查詢一個名字,您可以像普通表那樣引用它。

    進(jìn)入數(shù)據(jù)庫后輸入:

    mydb#CREATEVIEWmyviewAS

    SELECTcity,temp_lo,temp_hi,prcp,date,location

    FROMweather,cities

    WHEREcity=name;

    建立視圖;

    然后選擇建好的視圖:

    SELECT*FROMmyview;

    結(jié)果如下:

    city|temp_lo|temp_hi|prcp|date|location

    ---------------+---------+---------+------+------------+-----------

    SanFrancisco|46|50|0.25|1994-11-27|(-194,53)

    SanFrancisco|43|57|0|1994-11-29|(-194,53)

    (2rows)11.更新行;

    您可以用UPDATE命令更新現(xiàn)有的行。假設(shè)您發(fā)現(xiàn)所有11月28日的溫度計(jì)數(shù)都低了兩度,那么您就可以用下面的方式更新數(shù)據(jù):

    mydb#UPDATEweather

    SETtemp_hi=temp_hi-2,temp_lo=temp_lo-2

    WHEREdate>'1994-11-28';

    看看數(shù)據(jù)的新狀態(tài):

    SELECT*FROMweather;

    結(jié)果為:

    city|temp_lo|temp_hi|prcp|date

    ---------------+---------+---------+------+------------

    SanFrancisco|46|50|0.25|1994-11-27

    SanFrancisco|41|55|0|1994-11-29

    Hayward|35|52||1994-11-29

    (3rows)12.刪除行;

    數(shù)據(jù)行可以用DELETE命令從表中刪除。假設(shè)您對Hayward的天氣不再感興趣,那么您可以用下面的方法把那些行從表中刪除:

    mydb#DELETEFROMweatherWHEREcity='Hayward';

    我們用下面形式的語句的時候一定要小心

    DELETEFROMtablename;

    如果沒有條件,DELETE將從指定表中刪除所有行,把它清空。做這些之前系統(tǒng)不會請求您確認(rèn)!

    更多信息請查看IT技術(shù)專欄

    更多信息請查看數(shù)據(jù)庫
    易賢網(wǎng)手機(jī)網(wǎng)站地址:PostgreSQL安裝和簡單使用
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報警專用圖標(biāo)