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函数

相关文章
相关标签/搜索