记录 postgreSQL 知识点
创建带自增主键的表
create table test_b(
id BIGSERIAL PRIMARY KEY,
name character varying(128)
);
表添加自增主键:
ALTER TABLE tableName ADD COLUMN id BIGSERIAL PRIMARY KEY;
注意:BIGSERIAL PRIMARY KEY 对应int8
SERIAL PRIMARY KEY 对应int4
postgresql创建只读用户
1.创建一个用户名为readonly密码为ropass的用户
CREATE USER olap WITH ENCRYPTED PASSWORD 'olap';
2.用户只读事务
alter user olap set default_transaction_read_only=on;
3.把所有库的语言的USAGE权限给到readonly
GRANT USAGE ON SCHEMA public to olap;
4.授予select权限(这句要进入具体数据库操作在哪个db环境执行就授予那个db的权)
grant select on all tables in schema public to olap;
字符串转时间/时间戳
时间戳
select to_timestamp('2018-03-12 18:47:35','yyyy-MM-dd hh24:mi:ss')
或
select '2018-03-12 18:47:35'::timestamp
日期
select to_date('2018-03-12 18:47:35','yyyy-MM-dd')
或
select '2018-03-12 18:47:35'::date
日期时间转字符串
to_char(time,'YYYY-MM-DD hh24:mi:ss')
to_char(time,'YYYY-MM-DD')
to_char(time,'YYYY-MM-DD hh:mi:ss')
在pg中不同类型的字段不能相加
字符串相加方式
select 'field' || 'field'
修改表相关
1.更改表名
alter table 表名 rename to 新表名
2.更改字段名
alter table 表名 rename 字段名 to 新字段名
3.增加列
ALTER TABLE 表名 ADD COLUMN 字段名 int;
4.删除列
ALTER TABLE 表名 DROP COLUMN 字段名;
5 修改字段类型
alter table 表名 alter COLUMN 字段名 type int ;
给表添加备注
comment on table 表名 is '表备注信息';
给字段添加备注
comment on column 表名.字段名 is '字段备注';