当前位置: 首页 > news >正文

PostgreSQL基础使用

常用数据类型一、整数类型

SMALLINT - 2字节,-32768 到 +32767
INT - 4字节,-2147483648 到 +2147483647
BIGINT - 8字节,-9223372036854775808 到 +9223372036854775807
SERIAL - 自动递增整数(4字节,约21亿亿条)
BIGSERIAL - 大范围自增整数(8字节,约922亿亿条)
二、精确小数
NUMERIC(10,2) 表示总共10位,2位小数
三、字符类型
CHAR(n) - 定长字符串,不足补空格
VARCHAR(n) - 变长字符串,最大长度n
TEXT - 不限长度文本
四、日期时间类型
DATE - 日期,如 '2024-01-15'
TIME - 时间,如 '14:30:00'
TIMESTAMP - 日期和时间(有时区)
五、布尔类型
BOOLEAN - 真/假值
六、二进制类型
BYTEA - 二进制数据(类似BLOB)
七、JSON/XML 类型
JSONB - 二进制 JSON(推荐,支持索引)
XML - XML 数据
八、数组类型
任何类型都可以加上 [] 变成数组
INT[] - 整数数组
TEXT[] - 文本数组
九、特殊类型
ENUM - 枚举类型(需先创建)CREATE TYPE content_type AS ENUM ('article');

数据操作

一、数据转换
值::类型  
SELECT CURRENT_TIMESTAMP::DATE;
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS');

 索引

一、创建复合索引并且加上判断
CREATE UNIQUE INDEX idx_name 
ON newtable (column2,column3)
WHERE isdelete = 0;

一、行级锁
select * from newtable n FOR UPDATE

二、查看当前所有锁
SELECT
locktype,
database AS db_oid,
relation AS rel_oid,
pid,
mode,
granted
FROM pg_locks;
关键字段说明:
locktype:锁类型(如relation表锁、tuple行锁)
pid:持有锁的进程ID
mode:锁模式(如AccessShareLock、RowExclusiveLock)
granted:是否已获取锁(false表示被阻塞)

三、阻塞进程定位与终止

SELECT
blocked.pid AS blocked_pid,
blocked.query AS blocked_query,
blocking.pid AS blocking_pid,
blocking.query AS blocking_query
FROM pg_stat_activity blocked
JOIN pg_locks l1 ON l1.pid = blocked.pid
JOIN pg_locks l2 ON l2.locktype = l1.locktype
AND l2.DATABASE IS NOT DISTINCT FROM l1.DATABASE
AND l2.relation IS NOT DISTINCT FROM l1.relation
AND NOT l1.granted
AND l2.granted
JOIN pg_stat_activity blocking ON blocking.pid = l2.pid;
blocked_pid:被阻塞的进程ID
blocking_pid:阻塞源进程ID
blocked_query/blocking_query:对应SQL语句


四、终止单个进程
SELECT pg_terminate_backend(pid);

 

分析

一、查询执行分析工具
EXPLAIN ANALYZE
select '1'::int as d

 

http://www.jsqmd.com/news/150612/

相关文章:

  • 如何5分钟搞定Unity游戏翻译?XUnity.AutoTranslator完整使用指南
  • CVE-2025-54100:Windows PowerShell 命令注入漏洞复现分析
  • 如何实现TensorRT推理服务的无缝升级?
  • 从零实现STM32开发:Keil5安装教程完整示例
  • 学长亲荐9个AI论文软件,本科生轻松搞定毕业论文!
  • Windows虚拟手柄驱动配置全攻略:从入门到精通
  • 智能绩效管理AI平台的大模型应用:架构师的3个落地场景
  • 大模型推理服务可观测性建设要点
  • proteus蜂鸣器仿真入门:新手必看的基础操作指南
  • 如何实现TensorRT推理服务的自动化回归测试?
  • ViGEmBus 终极指南:10分钟掌握虚拟游戏控制器技术
  • 嵌入式软件crash日志采集与解析完整指南
  • NVIDIA TensorRT在农业智能化中的应用场景
  • 强力解锁:XUnity.AutoTranslator让Unity游戏实现完美自动本地化
  • usb serial port 驱动下载:小白必看的快速理解指南
  • Scarab模组管理器终极指南:轻松管理空洞骑士模组
  • Unity游戏翻译革命:XUnity.AutoTranslator完全使用手册
  • 高密度互连板防焊印刷实战解析
  • XUnity.AutoTranslator:Unity游戏自动翻译终极完整指南
  • STM32CubeMX安装步骤完整示例:虚拟机环境部署
  • 虚拟手柄驱动:轻松实现游戏控制器自由扩展
  • Java 数组
  • ST7789使用SPI双线模式:精简接线方案解析
  • 智慧校园的未来将走向何方?
  • Unity游戏本地化技术解析:XUnity.AutoTranslator架构与实现
  • 使用TensorRT加速3D点云处理模型的方法
  • 使用TensorRT优化OCR模型推理性能的实践
  • 自考必看8个降AI率工具,高效避坑指南!
  • Scarab模组管理器:空洞骑士模组管理的终极解决方案
  • 虚拟手柄驱动终极配置:从零开始打造完美游戏控制体验