PostgreSQL和PostGIS經常使用入門命令

1 命令程序

① psql命令

psql是一個可執行程序,位於pg安裝目錄的bin目錄下,語法html

psql -h localhost -U <用戶名>  -d <數據庫名> -p <端口號>

而後就會讓你輸入密碼,登陸後,命令提示符就會有這樣的提示信息:sql

<數據庫名稱>=#:

輸入SQL語句和如下命令均可以。數據庫

查詢數據庫自己的操做

-- 列出全部數據庫
\l

-- 切換數據庫
\c <數據庫名>

-- 查詢全部表
\dt

-- 查看某個表的描述(列的類型)
\d <表名>

-- 使用內嵌vim編輯器寫sql語句,能臨時保存,能夠執行
\e

-- 查詢當前擴展
\dx

-- 截斷、退出長文本顯示
q

② pg_ctl命令

pg_ctl是一個可執行程序,位於pg安裝目錄的bin目錄下。用它來查看版本或啓動數據庫的例子:vim

# 查看pg版本
pg_ctl --version

# 啓動數據庫服務
# pg_ctl -D <路徑>,若是配了PGDATA環境變量就不用加-D參數
pg_ctl -D D:\PGData

2 建立postgis命令

① 建立數據庫

create database <數據庫名>;

② 建立擴展

-- create extension <擴展名>;
-- 大小寫均可以,別忘了分號結尾

-- 3.0以後只用postgis擴展將僅支持矢量數據
create extension postgis;
-- 柵格擴展
create extension postgis_raster;
-- 拓撲擴展
create extension postgis_topology;

若是僅僅須要支持空間矢量數據,那麼只須要第一個擴展便可。後端

③ 卸載擴展

和建立擴展同樣,不列詳細的了,列出語法編輯器

drop extension <擴展名>;

④ 升級、更改擴展

-- alter extension <擴展名> update to "<版本號>";
alter extension postgis update to "3.0.1";

3 建立數據表命令

① 建立帶有幾何數據列的表

create table mytable (
	id serial primary key,
    geom geometry(point, 3857),
    name varchar(128)
);

② 建立索引

create index mytable_gix 
	on mytable
	using gist(geom);

③ 建立一個點

-- 使用EPSG:3857座標系,建立一個0,0的點
insert into mytable (geom) values (
    st_geomfromtext('POINT(0 0)', 3857)
);

④ 查詢舉例:最近點查詢

-- 使用st_geomfromtext()函數,搜索(1,2)這個座標系是EPSG:3857的點10米內的點,返回id和name
select id, name
from mytable
where st_dwithin(
	geom,
    st_geomfromtext('POINT(1 2)', 3857),
    10
);

版權沒有,翻譯自pg和postgis官方文檔。均通過實驗。http://www.javashuo.com/article/p-spbscstc-ck.html
小專欄的GIS先後端應用、開發內容更多,歡迎訂閱 https://xiaozhuanlan.com/topic/5689143270函數

相關文章
相關標籤/搜索