PostgreSQL 学习笔记

PostgreSQL 用法总结

  • 实现 upsert
1
2
3
4
5
6
7
8
9
-- 使用ON conflict (  )  DO子句
-- 下面的意思即为当 'user_id' 重复时,执行 UPDATE 操作
-- 当 'user_id' 不重复时,执行 INSERT 操作
INSERT INTO tb_user_info ( user_id, sex, "password" )
VALUES
( 1, '女', 'kissssss' ) ON conflict ( user_id) DO
UPDATE
SET sex = '女',
"password" = 'kissssss';
  • CREATE SCHEMA 时名称缺省使用 user_name ,且不能以 pg_ 开头。
  • DROP SCHEMA 时添加 CASCADE 参数,自动删除该模式下数据库对象。对应的,添加 RESTRICT 参数,如果该模式下还存在数据库对象,则不允许删除该模式,RESTRICT 为缺省值。
  • TRUNCATE TABLE xxx RESTART IDENTITY;:重置自增主键为 1 。

避坑指南

  • postgre 使用 limit offset 在排序字段值相同情况下不能达到目标效果 会表现为乱序 且postgre多字段排序写法与常规写法不同 应为 column1 desc,column2 desc 而非 column1 column2,desc 当写为后者时 不能达到先按column1排序 当column1值相同时按column2排序的预期