postgres 设置自增序列

pg数据库

自增字段设置

1 创建序列:navcat 其他–>序列

2 新增序列参数 序列->添加序列

所有者 :用户信息
递增: 1
当前值:1
开始值:1
最小值:1
最大值:99999999999999
缓存:1

3 字段设置默认值
新建表的字段值设置

 nextval('pg_test1'::regclass)    --pg_test1是序列名称

常用sql

SELECT addgeometrycolumn('gis_equipment','the_geom',4326,'POINT',2);  ## 添加几何字段,在设置的时候可以选(type类型)对象类型 选择public  geometry
INSERT INTO gis_equipment (equipment_id,geom)VALUES(121 , st_geomfromtext('POINT(105 32)',4326));
## 数据库中插入要素

select  * ,st_astext(geom) as geostr from gis_equipment ;##查询几何要素成wkt

select  * ,st_astext(geom) as geostr from gis_equipment where st_distance(st_geogfromtext('POINT(100 29)'), geom)<10;  ## 按距离查询

SELECT * , st_astext(st_buffer(geom, 6)) as bufferPoly from gis_equipment  ##查询缓冲区

数据库角色权限

create user acdm with PASSWORD 'acdm@1234' ## 创建用户名acdm和密码acdm@1234
CREATE role acdmrole						##创建角色acdmrole
grant all on DATABASE acdm to acdmrole		##给角色赋权限
grant acdmrole to acdm						##将用户acdm添加到角色acdmrole中
GRANT SELECT ON ALL TABLES IN SCHEMA "public" to acdmrole; ## 给schema赋权限

例子

create user commonuser PASSWORD 'commonuser_2022';

grant all on  database common to commonuser;
grant select on all tables in schema public to commonuser;

又例

create  database jtdb;   --创建数据库
create user jtzq with PASSWORD 'jtzq@caedu'; --创建用户信息
-- 
grant all on database jtdb to jtzq;

-- grant all privileges on all tables in schema public to jtzq;  -- 授予schema下所有表的权限给jtzq
-- grant all privileges on all sequences in schema public to jtzq; --授予schema下所有序列的权限给jtzq
-- revoke create on schema public from public; 回收创建schema的权限

添加字段

alter table [tb_menu] add column [createby] varchar(50) ;
comment on column tb_menu.createby  is '创建人';
alter table tb_menu add column  createtime timestamp(0); 
comment on column tb_menu.createtime is '创建时间';
alter table tb_menu add column updateby varchar(50) ;
comment  on column tb_menu.updateby is '更新人';
alter table tb_menu add column updatetime timestamp(0) ;
comment on column tb_menu.updatetime is '更新时间';

常用查询

打开扩展

CREATE EXTENSION postgis;

查询版本

select version();
SELECT PostGIS_full_version();

查询表名

select tablename from pg_tables where schemaname='public'

你可能感兴趣的:(数据库,postgresql,sql)