PostgreSQL和PostGIS常用入門命令


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM