PostGIS 基础查询
数据库维护
ps aux | grep postgres
psql
\h :查看 SQL 命令的解释,比如 \h select 。
\? :查看 psql 命令列表。
\l :列出所有数据库。
\c [database_name] :连接其他数据库。
\d :列出当前数据库的所有表格。
\d [table_name] :列出某一张表格的结构。
\du :列出所有用户。
\e :打开文本编辑器。
\conninfo :列出当前数据库和连接的信息\、
数据库版本
select version();--查询postgresql版本
SELECT PostGIS_full_version(); --查询postgis版本
SHOW data_directory;-- 查询数据文件安装路径
数据库 用户 表
创建数据库与授权
create user eas PASSWORD 'eas_Ytkj2023'; --创建用户eas 密码为eas_Ytkj@2023
CREATE DATABASE xiyimpaf; --创建数据库
create schema ebms; --创建schema
grant all on database xiyimpaf to eas; --数据库授权 给eas
grant select on all tables in schema public to eas; -- table和schema授权给eas
设置某个表的Owner身份
ALTER TABLE tb_menu OWNER TO jtzq; --设置tb_menu owner 给jtzq,解决删除报错问题
--将所有表owner权限给jtzq
SELECT
'Alter table ' || d.relname || ' owner to jtzq;'
FROM
(
SELECT C
.relname
FROM
pg_class C
WHERE
C.relname IN ( SELECT tablename FROM pg_tables WHERE tablename NOT LIKE'pg%' AND tablename NOT LIKE'sql_%' and tablename not like 'spatial%' )
ORDER BY
C.relname )d
添加字段
alter table user_role(表命) add column createby(字段名) varchar(50) ; --创建名
comment on column user_role.createby is '创建人';
alter table user_role add column createtime timestamp(0);
comment on column user_role.createtime is '创建时间';
alter table user_role add column updateby varchar(50) ;
comment on column user_role.updateby is '更新人';
alter table user_role add column updatetime timestamp(0) ;
comment on column user_role.updatetime is '更新时间';
用户查询
SELECT * FROM pg_roles;--查看所有已有角色及其权限(角色就是用户)
SELECT * FROM pg_user;
CREATE ROLE tigger LOGIN inherit; -- 创建角色 tigger,并设置权限(参考其他库的用户权限)
PG扩展
查询
select name from pg_available_extensions;
添加
// 添加空间数据库的相关插件
CREATE EXTENSION postgis; //用于创建空间数据库的插件,仅支持矢量数据扩展
CREATE EXTENSION address_standardizer; //使空间数据库支持地址标准化
CREATE EXTENSION ogr_fdw; //使空间数据库支持不同数据库之间的跨库操作
CREATE EXTENSION pgrouting; //使空间数据库支持网络分析
CREATE EXTENSION pointcloud; //使空间数据库支持点云数据存储
CREATE EXTENSION pointcloud_postgis; //使空间数据库支持点云数据操作
CREATE EXTENSION postgis_raster; //使空间数据库支持栅格数据扩展
CREATE EXTENSION postgis_sfcgal; //使空间数据库支持2D和3D的数据操作
CREATE EXTENSION fuzzystrmatch; //使空间数据库支持地理编码的模糊匹配
CREATE EXTENSION postgis_tiger_geocoder; //使空间数据库支持地理编码
CREATE EXTENSION postgis_topology; //使空间数据库支持拓扑检查
删除
DROP extension postgis cascade;