psql是一个可执行程序,位于pg安装目录的bin目录下,语法html
psql -h localhost -U <用户名> -d <数据库名> -p <端口号>
而后就会让你输入密码,登陆后,命令提示符就会有这样的提示信息:sql
<数据库名称>=#:
输入SQL语句和如下命令均可以。数据库
-- 列出全部数据库 \l -- 切换数据库 \c <数据库名> -- 查询全部表 \dt -- 查看某个表的描述(列的类型) \d <表名> -- 使用内嵌vim编辑器写sql语句,能临时保存,能够执行 \e -- 查询当前扩展 \dx -- 截断、退出长文本显示 q
pg_ctl是一个可执行程序,位于pg安装目录的bin目录下。用它来查看版本或启动数据库的例子:vim
# 查看pg版本 pg_ctl --version # 启动数据库服务 # pg_ctl -D <路径>,若是配了PGDATA环境变量就不用加-D参数 pg_ctl -D D:\PGData
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";
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函数