1 指令程式
① psql指令
psql是一個可執行程式,位于pg安裝目錄的bin目錄下,文法
psql -h localhost -U <使用者名> -d <資料庫名> -p <端口号>
然後就會讓你輸入密碼,登入後,指令提示符就會有這樣的提示資訊:
<資料庫名稱>=#:
輸入SQL語句和以下指令都可以。
查詢資料庫本身的操作
-- 列出所有資料庫
\l
-- 切換資料庫
\c <資料庫名>
-- 查詢所有表
\dt
-- 檢視某個表的描述(列的類型)
\d <表名>
-- 使用内嵌vim編輯器寫sql語句,能臨時儲存,可以執行
\e
-- 查詢目前擴充
\dx
-- 截斷、退出長文本顯示
q
② pg_ctl指令
pg_ctl是一個可執行程式,位于pg安裝目錄的bin目錄下。用它來檢視版本或啟動資料庫的例子:
# 檢視pg版本
pg_ctl --version
# 啟動資料庫服務
# pg_ctl -D <路徑>,如果配了PGDATA環境變量就不用加-D參數
pg_ctl -D D:\PGData
2 建立postgis指令
如果是安裝postgis(Windows安裝包安裝)時順帶安裝了模闆資料庫,那麼預設會啟用如下擴充:
① 建立資料庫
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官方文檔。均經過實驗。https://www.cnblogs.com/onsummer/p/12940502.html
小專欄的GIS前後端應用、開發内容更多,歡迎訂閱 https://xiaozhuanlan.com/topic/5689143270