1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      關(guān)于postgresql網(wǎng)站的信息

      無任何數(shù)據(jù)庫基礎(chǔ),PostgreSQL數(shù)據(jù)庫難學(xué)嗎?

      應(yīng)該比mysql好學(xué),文檔做得比較好.有中文文檔,自己去搜一下.csdn上面就有.自己可視化工具.例子也比較簡單易懂.不用ms sql server的話,這個應(yīng)該算是最好學(xué)的了.而且功能也很強(qiáng)大的.號稱最強(qiáng)的開源數(shù)據(jù)庫.

      成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供曹妃甸網(wǎng)站建設(shè)、曹妃甸做網(wǎng)站、曹妃甸網(wǎng)站設(shè)計、曹妃甸網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、曹妃甸企業(yè)網(wǎng)站模板建站服務(wù),10余年曹妃甸做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

      如何導(dǎo)入PostgreSQL數(shù)據(jù)庫數(shù)據(jù)

      說起數(shù)據(jù)庫,大家耳熟能詳?shù)纳虡I(yè)數(shù)據(jù)庫產(chǎn)品當(dāng)推Oracle、微軟的SqlServer和IBM的

      DB2等,而開源數(shù)據(jù)庫中則有兩大產(chǎn)品MySQL和PostgreSQL。

      PostgreSQL 是一種對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),也是目前功能最強(qiáng)大、

      特性最豐富和最復(fù)雜的自由軟件數(shù)據(jù)庫系統(tǒng)。它起源于伯克利(BSD)的數(shù)據(jù)庫研究計劃,

      目前是最重要的開源數(shù)據(jù)庫產(chǎn)品開發(fā)項目之一,有著非常廣泛的用戶。

      PostgreSQL 可以說是最富特色的自由數(shù)據(jù)庫管理系統(tǒng),也有人認(rèn)為可以是最強(qiáng)大的自由

      軟件數(shù)據(jù)庫管理系統(tǒng)。PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完

      整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫管理系統(tǒng)。能在多平臺下---包括Linux、

      FreeBSD和Windows等---運(yùn)行,并且支持多語言的開發(fā)。

      在兩大開源數(shù)據(jù)庫產(chǎn)品的對比中,一般認(rèn)為MySQL速度更快,所以得到更為廣泛的使

      用;而PostgreSQL性能更為先進(jìn),PostgreSQL 提供很多 MySQL 目前所不支持的特性,比

      如觸發(fā)器、視圖、存儲過程等等,在記錄數(shù)超千萬之后性能表現(xiàn)尤其出色。

      當(dāng)前的最新版本是PostgreSQL 8.2.3,官方網(wǎng)站是:

      1.2 什么是PostGIS

      PostGIS在對象關(guān)系型數(shù)據(jù)庫PostgreSQL上增加了存儲管理空間數(shù)據(jù)的能力,相當(dāng)于

      Oracle的spatial部分。PostGIS最大的特點(diǎn)是符合并且實現(xiàn)了OpenGIS的一些規(guī)范,是最著

      名的開源GIS數(shù)據(jù)庫。

      當(dāng)前的最新版本是PostGIS 1.2.1,官方網(wǎng)站是:

      二 PostgreSQL和PostGIS的安裝

      2.1 在windows下安裝。

      新版本的PostgreSQL在其安裝程序中集成了PostGIS,只需要在安裝過程中選中

      PostGIS和pgsql項就可以了。

      2.2 在Debian下安裝PostGIS

      # apt-get install postgresql-8.1 postgresql-8.1-postgis

      當(dāng)前Etch中的版本:PostgreSQL是8.1.7,而PostGIS是1.1.6,雖然不是最新的版本,

      但已經(jīng)足夠了。

      還需要做的工作是:

      1) 創(chuàng)建一個專門用于PostGIS的數(shù)據(jù)庫并為專用數(shù)據(jù)庫導(dǎo)入PostGIS支持:

      # su – postgres

      $ cd /usr/share/postgresql-8.1-postgis

      $ createdb wen1

      $ createlang plpgsql wen1

      $ psql -d wen1 -f lwpostgis.sql

      $ psql -d wen1 -f spatial_ref_sys.sql

      2) 創(chuàng)建一個專門的用戶,并把相應(yīng)的數(shù)據(jù)庫和數(shù)據(jù)表的屬主設(shè)置為該用戶:

      # su – postgres

      $ psql

      $ create user wen1 password ‘123456’;

      $ alter database wen1 owner to wen1;

      $ alter table spatial_ref_sys owner to wen1;

      $ alter table geometry_columns owner to wen1 ;

      3) 修改PostgreSQL配置文件以便可以遠(yuǎn)程使用。

      修改PostgreSQL的配置文件/etc/postgresql/8.1/main/Postgresql.conf,將其中的一句:

      listen_address=’localhost’

      前面的注釋去掉,并把’localhost’該為’*’。

      修改Postgresql的配置文件/etc/postgresql/8.1/main/pg_hba.conf,在文件后面加一句:

      host all all 192.168.0.0/24 password

      這句的意思是:同網(wǎng)絡(luò)中192.168.0.*的機(jī)器可以以密碼的形式使用所有的數(shù)據(jù)庫。更具

      體的參數(shù)意義直接看該配置文件中的注釋就可以了。

      這里一定要配置正確,否則無法在遠(yuǎn)程連接PostgreSQL數(shù)據(jù)庫。

      2.3 源碼安裝PostgreSQL和PostGIS

      參閱以前寫的老文章。

      三 PostGIS的使用

      要使用PostGIS,需要兩方面的預(yù)備知識,一是要熟悉基本的SQL語法;二是熟悉

      PostgreSQL數(shù)據(jù)庫的基本使用。

      (一) 快速入門

      我們使用前面創(chuàng)建的數(shù)據(jù)庫wen2,用戶為wen1,現(xiàn)在創(chuàng)建一個包含三個點(diǎn)的數(shù)據(jù)庫

      test1:

      首先在Etch下以wen1登陸,然后打開wen2數(shù)據(jù)庫:

      $ psql -d wen2 ;

      再在PostgreSQL的控制臺下輸入以下命令:

      wen2= create table test1 (myID int4, pt geometry, myName

      varchar );

      wen2= insert into test1 values (1, 'POINT(0 0)', 'beijing'

      );

      wen2= insert into test1 values (2, 'POINT(31.5 60.87)',

      'shanghai' );

      wen2= insert into test1 values (3, 'POINT(10.77 85.902)',

      'tianjin' );

      這樣我們利用PostGIS創(chuàng)建了一個包含三個點(diǎn)的GIS數(shù)據(jù)表。

      為了能在QGIS中打開這一圖層,我們還需要為數(shù)據(jù)表創(chuàng)建一個主鍵:

      wen2=alter table test1 add primary key (myID);

      可以看到PostGIS的使用其實就相當(dāng)于使用一個經(jīng)過擴(kuò)展的SQL語法,上述語句熟悉

      SQL語法的人一看都很熟悉,都是普通的SQL語句,不同的只不過是增加了PostGIS特殊的

      geometry數(shù)據(jù)類型。

      你可以再試試這些SQL語句:

      select * from test1;

      select myID,AsText(pt) from test1;

      select Distance(pt, 'POINT(0 0)') from test1;

      (二) PostGIS的Geometry數(shù)據(jù)類型

      Geometry可以說是PostGIS最重要的一個概念,是“幾何體”的意思,由于PostGIS很

      好地遵守OGC的”Simple Feature for Specification for

      SQL”規(guī)范,目前支持的幾何體類型包

      含其實例有:

      POINT(1 1)

      MULTIPOINT(1 1, 3 4, -1 3)

      LINESTRING(1 1, 2 2, 3 4)

      POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))

      MULTIPOLYGON((0 0, 0 1, 1 1, 1 0, 0 0), (5 5, 5 6, 6 6, 6 5, 5

      5))

      MULTILINESTRING((1 1, 2 2, 3 4),(2 2, 3 3, 4 5))

      而geometry具體表現(xiàn)又有兩種形式,一種叫做WKT(Well Known Text)形式,如上面的

      例子。或者使用如下SQL語句瀏覽:

      select AsText(pt) from test1;

      另一種叫做“Canonical Form”形式,看上去是一串古怪的數(shù)字,其實是一種增強(qiáng)的十六

      進(jìn)制編碼,使用如下SQL語句就可以瀏覽了:

      select pt from test1;

      (三) 讀寫PostGIS數(shù)據(jù)

      建設(shè)好PostGIS數(shù)據(jù)庫之后,我們現(xiàn)在需要進(jìn)行讀寫GIS數(shù)據(jù)了,包括把GIS寫入到

      PostGIS數(shù)據(jù)庫中以及在應(yīng)用程序中使用PostGIS數(shù)據(jù)庫的數(shù)據(jù)。讀寫PostGIS目前主要有以

      下四種方式:

      3.1 使用psql語言

      Psql語言是PostgreSQL內(nèi)嵌的一個命令行工具,其語法基本上和標(biāo)準(zhǔn)的SQL語法是一

      致的,可以使用Psql工具,結(jié)合標(biāo)準(zhǔn)SQL語法和一些PostGIS的擴(kuò)展對PostGIS數(shù)據(jù)庫進(jìn)行

      讀寫操作。

      具體例子如上面“快速入門”中的例子。

      這種方式功能強(qiáng)大,但全部需要手工操作,煩瑣且繁重。

      3.2 使用一些小工具

      有兩個很有用的小的轉(zhuǎn)換工具,一是shp2pg;一是ogr2ogr

      3.2.1 shp2pgsql和pgsql2shp

      shp2pgsql和pgsql2shp是PostGIS自身攜帶的一對在Shape文件和PostGIS數(shù)據(jù)庫之間進(jìn)

      行轉(zhuǎn)換的工具,在Debian中安裝好PostGIS之后,這兩個程序已經(jīng)位于可執(zhí)行文件的搜索路

      徑上,因此可以在系統(tǒng)中任何位置使用。

      假如當(dāng)前目錄下有完整的china.shp文件(應(yīng)該有三個同名不同擴(kuò)展名的文件),需要把其

      中數(shù)據(jù)輸入到上述的wen2數(shù)據(jù)庫中的數(shù)據(jù)表china_postgis中,具體操作為(操作用戶為

      wen1):

      $ shp2pgsql china china_postgis tmp.sql

      $ psql -d wen2 -f roads.sql

      這個工具很好用,缺點(diǎn)在于使用范圍有限,只針對Shape文件格式。

      3.2.2 ogr2ogr

      PostGIS本身的shp2pg工具只把shape文件轉(zhuǎn)換到PostGIS 數(shù)據(jù)庫中,那如何把其他的

      GIS數(shù)據(jù)加入呢?比如說MapInfo的mid格式,ESRI的e00格式呢?這就要使用ogr這個工

      具了。

      Ogr目前是gdal的一個組成部分,那什么是gdal呢?其官方主頁()上

      如此介紹:

      GDAL is a translator library for raster geospatial data formats

      that is released under an X/MIT

      style Open Source license by the Open Source Geospatial

      Foundation. As a library, it presents a

      single abstract data model to the calling application for all

      supported formats. It also comes with a

      variety of useful commandline utilties for data translation and

      processing.

      簡單地說,Gdal是一個各種Gis數(shù)據(jù)格式的轉(zhuǎn)換軟件庫,ogr則是轉(zhuǎn)換矢量GIS數(shù)據(jù)的

      軟件庫。

      目前ogr能夠支持的數(shù)據(jù)格式包括:

      Arc/Info Binary Coverage、DWG、ESRI Personal

      GeoDatabase、ArcSDE、ESRI

      Shapefile、GML、GRASS、Mapinfo File、Microstation DGN、ODBC、Oracle

      Spatial和

      PostgreSQL等。應(yīng)該說,這就基本包括了我們平常用到的所有矢量型GIS文件格式了。

      Gdal支持的柵格數(shù)據(jù)格式參閱http: //

      下面我們從源碼編譯安裝gdal---因為我在Debian下使用apt方式安裝的gdal并不支持

      postgresql數(shù)據(jù)庫,其實更為簡便的方法也許是去gdal.org下載一個Fwtools的工具包,可以

      直接運(yùn)行不用繁瑣的編譯,既有Windows的,也有Linux下用的,只不過這個包有些大。

      1) 下載最新的gdal-1.3.2

      2) 解壓

      3) ./configure --prefix=/opt/gdal

      --with-pg=/opt/pg/bin/pg_config --without-ogdi

      這里我習(xí)慣把軟件安裝在/opt目錄下。

      --with-pg參數(shù)很重要,使ogr可以支持PostGIS,后面的參數(shù)是我的PostGIS安裝的地方。

      我在這里編譯很多次失敗,經(jīng)過仔細(xì)查找,發(fā)現(xiàn)問題出在ogdi上,所以暫時我只好使

      它不支持ogdi。

      4) make

      5) make install

      下面是使用過程,假設(shè)現(xiàn)在我要把一個rai.mid文件導(dǎo)入到數(shù)據(jù)庫data1中:

      $ ogr2ogr –f Postgresql PG:dbname=data1 rai.mid

      注意,f參數(shù)后面跟的是導(dǎo)入的數(shù)據(jù)類型,最后那個文件才是要導(dǎo)出的文件。PG后面說

      明的是數(shù)據(jù)庫的名字,需要是已經(jīng)創(chuàng)建好的數(shù)據(jù)庫,而數(shù)據(jù)表則由程序自動創(chuàng)建。還要特別

      注意權(quán)限問題,以上命令我是由postgres用戶執(zhí)行的。

      還有一個要注意的是主鍵問題。一般情況下,你使用shp2pg或者 ogr2ogr向postgis中

      增加了Gis數(shù)據(jù)后,在GIS客戶端添加postgis圖層的時候,常常會因為數(shù)據(jù)表沒有定義主鍵

      而出錯,解決的辦法是,在服務(wù)器上使用psql或者其他sql工具,使用命令:

      alter table table_name add primary key (column_name);

      另外我們發(fā)現(xiàn)ogr竟然是不支持最常見的GIS格式e00格式,好象是因為版權(quán)方面的原

      因吧。解決的方法就是去sf.net查找相關(guān)工具。我在上面就找到一個e002pg工具,支持將

      e00文件導(dǎo)入到postGIS數(shù)據(jù)庫中。

      3.3 在其他GIS軟件中讀寫PostGIS數(shù)據(jù)

      比如在QGIS中,能夠打開PostGIS圖層,還有SPIT插件可以把Shape文件輸入到

      PostGIS數(shù)據(jù)庫中。

      其他GIS軟件如uDig,Grass等,甚至連ArcInfo都支持或部分支持讀寫PostGIS數(shù)據(jù)。

      3.4 利用接口在應(yīng)用程序中讀寫PostGIS數(shù)據(jù)

      廣大的開源GIS程序員幾乎為每一種程序設(shè)計語言設(shè)計好了讀寫PostGIS的接口,如利

      用PostgreSQL的JDBC庫,可以使用Java語言在程序中讀寫PostGIS數(shù)據(jù);利用libpq庫,

      可以使用C語言讀寫PostGIS數(shù)據(jù)。

      (四) 使用PostGIS函數(shù)

      4.1 PostGIS函數(shù)

      要能熟練使用PostGIS,掌握PostGIS的所有函數(shù)是關(guān)鍵。通過掌握這些PostGIS函數(shù),

      我們能夠高效、穩(wěn)定地處理各種地理數(shù)據(jù)。由于PostGIS的函數(shù)設(shè)計時都遵守OpenGIS規(guī)范,

      我們也可以把這些PostGIS叫做OpenGIS函數(shù)。

      4.2 PostGIS函數(shù)的分類

      PostGIS函數(shù)大致可以分為以下四類

      1) 字段處理函數(shù)

      這類函數(shù)當(dāng)前一共有3個,分別是:

      AddGeometryColumn(var1,var2,var3,var4,var5,var6):為已有的數(shù)據(jù)表增加一個地理幾何

      數(shù)據(jù)字段。Var1代表數(shù)據(jù)表的模式(schema)的名字,一般是public,也可以省略,則使用當(dāng)

      前的缺省模式;var2是已有的數(shù)據(jù)表的名字;var3是新的地理數(shù)據(jù)字段的名字;var4是

      SRID值,不確定的話就取-1吧;var5是地理數(shù)據(jù)的類型,可以是POINT等;var6是指該幾

      何數(shù)據(jù)是二維還是三維數(shù)據(jù)。

      前面的SQL語句 create table test1 (myID int4, pt geometry, myName

      varchar )更規(guī)范的寫

      法為:

      create table test1 (myID int4, myName varchar );

      select AddGeometryColumn('test1','pt',-1,'GEOMETRY',2);

      DropGeometryColumn函數(shù)顯然是刪除一個地理數(shù)據(jù)字段的;

      SetSRID函數(shù)顯然是設(shè)置SRID值的。

      2) 幾何關(guān)系函數(shù)

      這類函數(shù)目前共有10個,分別是:

      Distance Equals Disjoint Intersects Touches Crosses Within

      Overlaps Contains Relate

      3) 幾何分析函數(shù)

      這類函數(shù)目前共有12個,分別是:Centroid Area Lenth PointOnSurface Boundary

      Buffer

      ConvexHull Intersection SymDifference Difference GeomUnion

      MemGeomUnion

      4) 讀寫函數(shù)

      這類函數(shù)很多,主要是用于在各種數(shù)據(jù)類型之間的轉(zhuǎn)換,尤其是在于Geometry數(shù)據(jù)類

      型與其他如字符型等數(shù)據(jù)類型之間的轉(zhuǎn)換,函數(shù)名如AsText、GeomFromText等,其作用是

      顯然的。

      4.3 PostGIS函數(shù)使用示例。

      假設(shè)在我們的wen2數(shù)據(jù)庫中,有兩張表,一張為guojia,是從“國家基礎(chǔ)地理數(shù)據(jù)”

      網(wǎng)站下載的國界數(shù)據(jù)表,數(shù)據(jù)類型為LINE;二為shengqu_polygon,也從同一個網(wǎng)站下載,

      地理數(shù)據(jù)類型為多邊形。

      1) 查詢我國邊境線的長度:

      wen1= select sum(length(the_geom)) as lenth from guojie;

      2) 查詢我國面積最大的省區(qū)名字:

      wen1= select name area(the_geom) as myarea

      from shengqu_polygon

      order by myarea DESC

      LIMIT 1;

      (五) 使用PostGIS擴(kuò)展函數(shù)

      除了上述遵循OpenGIS的函數(shù)之外,PostGIS還自行擴(kuò)展了一些當(dāng)前OpenGIS規(guī)范之外

      的函數(shù),主要包括以下幾類:

      5.1 管理類函數(shù)

      擴(kuò)展的管理類函數(shù)主要包括一些軟件版本查詢函數(shù),如

      postgis_version()、postgis_geos_version()、postgis_proj_version()函數(shù)等,分別查詢當(dāng)前的

      PostGIS的版本及其使用的Geos和Proj庫的版本。

      5.2 數(shù)據(jù)類型的輸入輸出函數(shù)

      除了OpenGIS定義的地理數(shù)據(jù)類型之外,PostGIS還對數(shù)據(jù)類型進(jìn)行了擴(kuò)展,這種擴(kuò)展

      主要是兩方面的擴(kuò)展,一是把二維的數(shù)據(jù)向三維和四維擴(kuò)展;二就是在WKT和WKB數(shù)據(jù)

      類型基礎(chǔ)上擴(kuò)展出EWKT和EWKB數(shù)據(jù)類型。

      PostGIS提供了在這些地理數(shù)據(jù)類型和常用數(shù)據(jù)類型如字符型、浮點(diǎn)型數(shù)據(jù)之間進(jìn)行轉(zhuǎn)

      換的函數(shù)。

      5.3 量算函數(shù)

      如length3d函數(shù)是對length2d函數(shù)的擴(kuò)展。

      5.4 幾何操作函數(shù)

      如addBBox(geometry)函數(shù)給所給的幾何體加上一個邊框。

      如simplify(geometry,tolerance)函數(shù)可以對折線和多邊形利用Douglas-Peuker算法進(jìn)行一

      些節(jié)點(diǎn)進(jìn)行刪除,從而使表現(xiàn)的圖形更簡單而清晰,在網(wǎng)絡(luò)傳輸數(shù)據(jù)時具有更高的效率。

      5.5 操作符號

      5.6 其他擴(kuò)展函數(shù)

      (六) 建立PostGIS索引

      當(dāng)數(shù)據(jù)庫的記錄增大的時候,如果沒有建立索引的話,操作的效率就顯著下降。

      POstGIS建議當(dāng)記錄數(shù)超過幾千的時候就應(yīng)該建立索引,而GIS數(shù)據(jù)庫一般都是海量數(shù)據(jù),

      所以對PostGIS而言,索引就非常重要。

      Shapfile文件為ESRI公司的文件存儲格式,并且得到了業(yè)界廣泛的支持。Shapfile格式是一種簡單的,用非拓樸關(guān)系的形式存儲幾何位置和地

      理特征的屬性信息的格式。雖然GeoServer采用Shapfile文件可以快速的創(chuàng)建網(wǎng)上地圖服務(wù),但它的缺點(diǎn)確很明顯:

      1、Shapefile只支持一個圖層,在實際中沒有意義。

      2、直接保用SHP文件不安全,Shapfile文件很容易被病毒或其他原因誤刪除。

      3、GeoServer中用Shapfile文件作數(shù)據(jù)源的效率是很低的。

      4、Shapfile中的漢字GeoServer不能解析,會出現(xiàn)亂碼。

      5、數(shù)據(jù)庫可以方便的對地理信息進(jìn)行查詢。

      用PostGIS管理空間數(shù)據(jù)

      PostGIS支持GIST空間索引(附錄1)、規(guī)范窗體,能很大的提高處理效率。

      OGC格式只提供二維的幾何體,且相關(guān)聯(lián)的SRID從未深入的用于輸入輸出請求,PostGIS支持OpenGIS組織"Simple

      Features for

      SQL"規(guī)范指定的所有GIS對象和函數(shù),并進(jìn)行了擴(kuò)展,格式是EWKB、EWKT,其中增加了對3DZ,3DM和4D

      坐標(biāo)系的支持(當(dāng)然三維、四維數(shù)據(jù)的OGC標(biāo)準(zhǔn)還未完全制定),深入引進(jìn)了SRID信息。

      空間數(shù)據(jù)表結(jié)構(gòu):PostGIS中存在兩個必需的元數(shù)據(jù)表格, SPATIAL_REF_SYS(空間參考表格) 和

      GEOMETRY_COLUMNS(幾何體屬性列),兩個表用于存儲空間數(shù)據(jù)庫使用的坐標(biāo)系統(tǒng)數(shù)字ID和文本描述。

      PostGIS的shp2pgsql命令可以將Shapfile直接導(dǎo)入到數(shù)據(jù)庫中也可以導(dǎo)出為SQL文件,推薦先導(dǎo)出為SQL文件再將此文件在SQL運(yùn)行窗口中執(zhí)行可將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。

      Shapfile到SQL語句:

      shp2pgsql 路徑shp數(shù)據(jù)文件名 新建的數(shù)據(jù)表名

      路徑SQL文件名.sql

      Shapfile直接入庫:

      shp2pgsql -c 路徑shp數(shù)據(jù)文件名 新建的數(shù)據(jù)表名 數(shù)據(jù)庫名|psql -d 數(shù)據(jù)庫名

      舉例說明:

      如將一Shapfile文件“c:road.shp”導(dǎo)入到數(shù)據(jù)表“road”中,數(shù)據(jù)庫為“sjzmap”。

      1、運(yùn)行“命令提示符”。

      2、切換至PostgreSQL數(shù)據(jù)庫安裝目錄中的bin目錄下。

      3、執(zhí)行此目錄下的shp2pgsql命令:“shp2pgsql c:road.shp road

      c:road.sql”。

      4、如將此文件直接導(dǎo)入數(shù)據(jù)庫(不推薦):“shp2pgsql -c c:road.shp road

      sjzmap | psql -d sjzmap”。

      5、使用pgAdmin3

      選擇數(shù)據(jù)庫,再導(dǎo)入表。

      PostgreSQL適合做(超)大型商業(yè)網(wǎng)站的數(shù)據(jù)庫嗎?PostgreSQL支持像Oracle的pck那樣的編程嗎?

      postgresql用于超大型商業(yè)網(wǎng)站是完全OK的,至于Oracle的PCK是什么不清楚,估計是存儲過程吧。

      postgresql支持很多種語言寫存儲過程,c,pgsql,perl,python,tcl等,

      但你如果要問的是存儲過程是不是和oracle的存儲過程語法一樣,那肯定是不一樣的

      有個數(shù)據(jù)庫叫EnterpriseDB,就是為了讓postgresql各種語法更像oracle而出來的,你也可以去研究一下

      如何使用VS2015開發(fā)python+django+postresql網(wǎng)站

      1.下載并安裝visual studio 2015,建議下載社區(qū)在線安裝版,會幫你自動安裝最新的Python Tools for Visual Studio。

      2.下載并安裝postgresql。

      之前我就是吃了這個虧,django版本跟PTVS版本不一致,導(dǎo)致無法使用。

      安裝好VS2015之后,直接新增一個python+django項目。

      然后建立一個虛擬環(huán)境

      如果要連接postgresql,必須安裝psycopg2,vs2015自帶pip,所以安裝極為方便。右鍵點(diǎn)擊虛擬環(huán)境,選擇install python package,然后輸入psycopg2后回車。成功后會發(fā)現(xiàn)psycopg2已經(jīng)安裝到虛擬環(huán)境中了。

      接下來配置連接字符串,修改setting.py,把默認(rèn)的sqlite改為postgresql的連接字符串

      DATABASES = {

      'default': {

      'ENGINE': 'django.db.backends.postgresql_psycopg2',

      'NAME':'test',

      'USER': 'postgres',

      'PASSWORD': '******',

      'HOST':'',

      'POST':'5432'

      }

      }

      點(diǎn)擊如下按鈕,如果成功,會返回成功信息,并且數(shù)據(jù)庫里面會建立對應(yīng)的數(shù)據(jù)表

      使用工具建立superuser后,運(yùn)行網(wǎng)站,測試登陸,ok

      查詢數(shù)據(jù)庫auth_user表,發(fā)現(xiàn)已經(jīng)建立了一條超級用戶數(shù)據(jù),ok。

      postgresql 進(jìn)程出現(xiàn)waiting導(dǎo)致網(wǎng)站響應(yīng)慢,請問如何解決

      1。打開psql界面,輸入以下:

      SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,

      pg_stat_get_backend_activity(s.backendid) AS current_query

      FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;

      2。同時監(jiān)視你的數(shù)據(jù)庫服務(wù)器什么時候發(fā)生update waitting狀況,一旦發(fā)現(xiàn),立刻記錄下它的進(jìn)程號。

      3。迅速把第1步里的語句按回車執(zhí)行了,查看結(jié)果。結(jié)果是一個view,結(jié)構(gòu)大致如下:

      procpid | current_query

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

      26574 | IDLE

      26640 | IDLE

      26643 | IDLE

      26651 | IDLE

      26646 | IDLE

      26649 | IDLE

      26654 | IDLE

      26657 | IDLE in transaction

      26659 | IDLE

      26674 | IDLE

      23623 | IDLE

      26824 | SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,

      : pg_stat_get_backend_activity(s.backendid) AS current_query

      : FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;

      26901 | IDLE

      (這是我目前開發(fā)機(jī)器上的結(jié)果,沒有正在執(zhí)行的語句,如果有,IDLE就會是SQL語句,最下面的哪條是這個性能執(zhí)行查詢自身的語句)

      你把左側(cè)一列的procpid號對應(yīng)上在第2步中查到的進(jìn)程號,然后把對應(yīng)上的current_query 發(fā)出來,讓大家?guī)湍憧纯词悄木鋟pdate語句執(zhí)行了過長的時間,針對這條update語句再查原因可能會準(zhǔn)確些。


      分享名稱:關(guān)于postgresql網(wǎng)站的信息
      分享網(wǎng)址:http://www.ef60e0e.cn/article/dsccehs.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        凌源市| 深泽县| 东丽区| 莱西市| 南涧| 淮北市| 岑溪市| 娱乐| 陈巴尔虎旗| 广水市| 呼玛县| 富裕县| 澄江县| 井研县| 临夏市| 宁远县| 卓尼县| 鹤庆县| 安乡县| 富蕴县| 安庆市| 鱼台县| 钟祥市| 郎溪县| 津市市| 马尔康县| 克什克腾旗| 铅山县| 镇康县| 大宁县| 黄骅市| 江城| 兴山县| 张家港市| 溧水县| 兰州市| 荣昌县| 石城县| 元谋县| 永城市| 喀喇|