程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
数据库 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
MySQL 报 ER_1366 Incorrect string value:从驱动到字段排查连接字符集链
编程
MySQL 报 ER_1366 Incorrect string value:从驱动到字段排查连接字符集链
2026-10-16 00:05:00
存 emoji / 中文报 ER_1366 Incorrect string value、ER_1300、ER_3988 时,问题常在客户端、连接层、服务端对象三处字符集不统一。给出 SHOW VARIABLES 该看的变量、SET NAMES 与 character-set-client-handshake、实例→库→表→字段的修改优先级,以及 PHP/Python/Go/JDBC 驱动侧配置与 latin1 双重编码陷阱。
utf8mb4
MySQL
字符集
乱码
emoji
排障
数据库
collation
utf8mb3 转 utf8mb4:767 字节索引上限、191/768 前缀与 row size 8126 的踩坑记录
案例
utf8mb3 转 utf8mb4:767 字节索引上限、191/768 前缀与 row size 8126 的踩坑记录
2026-10-16 00:03:48
从 utf8mb3 转 utf8mb4 时,内容没问题但表结构常被 InnoDB 的字节上限卡住:COMPACT 行格式 767 字节对应 191 字符前缀、DYNAMIC 行格式 3072 字节对应 768 字符,以及 TINYTEXT/VARCHAR 长度、row size 8126、ER_1071/1709/1118 报错与可执行修复 SQL。
utf8mb4
MySQL
字符集
索引
InnoDB
运维
数据库
PG19 的 REPACK:把 VACUUM FULL 和 CLUSTER 合成一条命令,CONCURRENTLY 不阻塞读写
编程
PG19 的 REPACK:把 VACUUM FULL 和 CLUSTER 合成一条命令,CONCURRENTLY 不阻塞读写
2026-10-15 21:03:21
PostgreSQL 19 新增 REPACK,合并 VACUUM FULL 与 CLUSTER 的功能,REPACK ... CONCURRENTLY 可在不阻塞读写的情况下重建表。文中对比两者的锁与磁盘/时间取舍,并列出 Beta4 回退的特性(SQL/PGQ、在线开关 checksums 等),避免照 beta1 公告做规划。
PostgreSQL
数据库
运维
SQL
Redis 8.2 的 XACKDEL/XDELEX:多消费者组下,确认并删除流条目一条命令搞定
编程
Redis 8.2 的 XACKDEL/XDELEX:多消费者组下,确认并删除流条目一条命令搞定
2026-10-15 21:03:21
Redis 8.2 新增 XACKDEL 与 XDELEX,把「确认后清理已确认条目」的应用层逻辑收回 Redis,并用 KEEPREF/DELREF/ACKED 控制消费者组引用处理。文中对比引用计数延迟回收与确认即删两条路线,并附 BITOP 新算子、CLUSTER SLOT-STATS 与内存性能数字。
Redis
Stream
缓存
数据库
MySQL 26.7.0 Innovation 发布:Thread Pool Plugin 进社区版,Group Replication 默认通信栈换成 MYSQL
资讯
MySQL 26.7.0 Innovation 发布:Thread Pool Plugin 进社区版,Group Replication 默认通信栈换成 MYSQL
2026-10-15 20:01:57
MySQL 26.7.0 Innovation 发布:Thread Pool Plugin 进入社区版解决高并发下每连接一线程的调度开销,Group Replication 默认通信栈由 XCOM 换成 MYSQL 并开始弃用 XCom 配置,新增 Change Stream Applier 单写者复制通道;附 InnoDB、后量子加密等改动与版本线选择。
MySQL
数据库
Group
Replication
InnoDB
运维
MySQL 排序规则迁移:utf8mb4_0900_ai_ci、89 种 collation 与 5.7 回导报错
案例
MySQL 排序规则迁移:utf8mb4_0900_ai_ci、89 种 collation 与 5.7 回导报错
2026-10-15 01:43:47
MySQL 8.0 把 utf8mb4 默认排序规则从 utf8mb4_general_ci 换成 utf8mb4_0900_ai_ci:拆解 collation 命名后缀、UCA 版本号、89 种 utf8mb4 排序规则从哪来,以及 8.0 建表回导 5.7/5.6 报错、NO PAD 与 PAD SPACE 的差异,给出选型与迁移注意点。
排序规则
collation
MySQL
数据库
字符集
utf8mb4
运维
gh-ost 改表不停写:binlog 追增量,两个连接抢 rename 完成 cut-over
编程
gh-ost 改表不停写:binlog 追增量,两个连接抢 rename 完成 cut-over
2026-10-15 01:39:38
gh-ost 用 binlog 订阅替代触发器做 MySQL 在线改表:幽灵表迁移 + 增量回放,两个连接抢 rename 完成原子 cut-over。含三种运行模式、硬约束(必须有主键、binlog_format=ROW)、关键参数与 dry-run 实操,以及和 pt-osc 在中断恢复、增量同步上的差异。
OnlineDDL
MySQL
gh-ost
DDL
在线改表
binlog
cut-over
数据库
gh
触发器
initdb 初始化集群:排序规则与 trust 认证建完就改不动
编程
initdb 初始化集群:排序规则与 trust 认证建完就改不动
2026-10-14 23:42:30
initdb 创建 PostgreSQL 集群时,排序规则、locale provider、编码和 WAL 段大小在初始化时就定死,默认信任认证还允许任意本地用户成为超级用户。梳理目录权限 0700/0600、-A scram-sha-256/-W/--pwfile 的用法,以及换 locale 只能清空重建的原因。
initdb
PostgreSQL
数据库
locale
排序规则
认证
运维
Shell
MySQL 加字段为什么有时秒级、有时锁表:INSTANT / INPLACE / COPY 怎么选
编程
MySQL 加字段为什么有时秒级、有时锁表:INSTANT / INPLACE / COPY 怎么选
2026-10-14 23:35:48
同样一句 ALTER TABLE,加字段秒级完成,改字段类型却可能锁表几小时。本文拆清 INSTANT / INPLACE / COPY 三种算法怎么选、cloud 厂商对在线改类型的补丁与限制,以及大表该用 pt-osc 还是 gh-ost。
字段变更
MySQL
OnlineDDL
表结构变更
DDL
数据库
gh-ost
gh
pg_upgrade 升级 PostgreSQL 18 失败:initdb 默认开启的 page checksums 与旧集群不一致
编程
pg_upgrade 升级 PostgreSQL 18 失败:initdb 默认开启的 page checksums 与旧集群不一致
2026-10-14 21:02:01
PostgreSQL 18 的 initdb 默认开启 page checksums,旧集群没开会让 pg_upgrade 直接失败。梳理对齐校验和的两条路径、pg_upgrade 保留 planner 统计等新选项,以及 MD5 弃用、AFTER 触发器角色语义、全文检索索引重建等不兼容点。
PostgreSQL
pg_upgrade
数据库
升级
initdb
Go 1.27 标准库加入 uuid:NewV7 时间有序,别再拿 v4 做主键
编程
Go 1.27 标准库加入 uuid:NewV7 时间有序,别再拿 v4 做主键
2026-10-11 21:01:23
Go 1.27 把 uuid 包收进标准库(RFC 9562),无需再依赖 google/uuid。重点讲 NewV7:时间有序,插入 B-tree 索引时落在右侧,避免 v4 随机主键把索引写散、写入吞吐下降的问题,并附 API 对照与同版本其他变化。
Go
uuid
MySQL
数据库
标准库
ant
encoding/json
MPT
encoding/json/v2
ql
js
RSI
UTF-8
格式化
生态
pkg.go.dev
DI
New
类型
代码
Dev
ng
密码
主键
ODS
in
lm
tree
Duration
MySQL 9.7.2:LOAD DATA 残留 NULL 状态、POW(NULL) 返回 1 等会真踩到的修复
资讯
MySQL 9.7.2:LOAD DATA 残留 NULL 状态、POW(NULL) 返回 1 等会真踩到的修复
2026-10-10 21:06:02
MySQL 9.7.2 修了一批会直接影响结果的行为 bug:LOAD DATA 给 NOT NULL 列写 NULL 后残留临时 NULL 状态导致同会话 INSERT 报 1263/1048、POW(NULL) 错误返回 1、IN 谓词含 DATE/TIME 常量误匹配、AVG 配合 SQL_BUFFER_RESULT 结果截断,以及 hypergraph optimizer 多处修复。本文按报错与现象给出升级注意点。
MySQL
运维
数据库
MySQL 9
Rue
ql
ascii
MySQL 9.7
Buf
2077
Bug
9.7
18
Elastic 9.5 上线 Columnar Mode 技术预览:字段默认只存 doc values,倒排索引不再默认建
综合
Elastic 9.5 上线 Columnar Mode 技术预览:字段默认只存 doc values,倒排索引不再默认建
2026-10-09 21:07:51
Elastic 9.5 引入 Columnar Mode 技术预览:字段默认只存 doc values、不建倒排索引与 BKD,换取更小存储;Columnar Logs 只在 message 字段保留倒排索引。另有 VectorDB 索引模式与 DiskBBQ 自动校准、Prometheus/PromQL 支持 GA、TSDB 原生 temporality 与 ES|QL flattened。
Elasticsearch
搜索
可观测性
数据库
索引设计
评估
DB
可观测
SQLite 3.51:jsonb_each()/jsonb_tree() 返回 JSONB,carray/percentile 编进 amalgamation
代码
SQLite 3.51:jsonb_each()/jsonb_tree() 返回 JSONB,carray/percentile 编进 amalgamation
2026-10-09 21:06:42
SQLite 3.51 新增 jsonb_each()/jsonb_tree(),carray 与 percentile 扩展编进 amalgamation(默认关闭,需编译选项开启),新增 PRAGMA wal_checkpoint=NOOP、sqlite3_db_status64() 等 API,并记录了 3.51.3 修复的 WAL-reset 数据损坏问题。
SQLite
数据库
C
版本发布
函数
命令
Ray
编译
Lit
回归
PostgreSQL 18 工程师笔记:AIO、skip scan 与升级要处理的索引重建
编程
PostgreSQL 18 工程师笔记:AIO、skip scan 与升级要处理的索引重建
2026-10-08 21:05:20
PostgreSQL 18 引入 AIO 异步 I/O 子系统(io_method、io_combine_limit、pg_aios),支持多列 B-tree skip scan、uuidv7()、虚拟生成列默认、RETURNING 的 OLD/NEW 与时间范围约束。本文给出版本要点与升级要处理的全文检索索引重建、md5 弃用等注意点。
PostgreSQL
数据库
AIO
升级
索引
KIP
工程
回归
Spanner queues 2026-10-02 GA:事务内发消息,RECEIVE_* TVF 收消息与租约 ack
编程
Spanner queues 2026-10-02 GA:事务内发消息,RECEIVE_* TVF 收消息与租约 ack
2026-10-08 00:03:49
Google Cloud 把消息队列做进 Spanner 事务:CREATE QUEUE 建队列、INSERT 在同一读写事务里发消息,用 RECEIVE_* TVF 流式收消息,10 秒租约配 RENEWLEASE_* 续租、DELETE + ASSERT_ROWS_MODIFIED 1 原子确认。整理它解决的 outbox 双写问题、延迟投递/取消排期/时间对齐批处理等模式、监控指标,以及迁移判断。
Google
Cloud
Spanner
消息队列
Transactional
Outbox
GoogleSQL
分布式事务
数据库
编排
事务
消息
回滚
主键
团队
产品经理
事件
PostgreSQL 19 Beta 1:REPACK 合并 VACUUM FULL 与 CLUSTER,逻辑复制可复制 sequence
代码
PostgreSQL 19 Beta 1:REPACK 合并 VACUUM FULL 与 CLUSTER,逻辑复制可复制 sequence
2026-10-07 21:03:40
PostgreSQL 19(Beta)新增 REPACK 命令合并 VACUUM FULL 与 CLUSTER,REPACK CONCURRENTLY 不阻塞读写;逻辑复制可复制 sequence 值并在 wal_level=replica 下按需启用;autovacuum 支持并行 worker 与打分排序;WAIT FOR LSN 支持 standby 上的 read-your-writes;还有 SQL/PGQ、GROUP BY ALL 与 pg_plan_advice。
PostgreSQL
数据库
复制
VACUUM
DBA
语法
MySQL 9.7 社区版启用 hypergraph optimizer:默认关闭,sysbench 两个只读场景提升 26%/15%
代码
MySQL 9.7 社区版启用 hypergraph optimizer:默认关闭,sysbench 两个只读场景提升 26%/15%
2026-10-07 21:01:39
MySQL 9.7 LTS 把 hypergraph optimizer 下放到社区版:把 join 当图搜索、支持 bushy plan、nested-loop 与 hash join 做真正基于代价的比较。默认关闭,需 optimizer_switch 或 SET_VAR hint 开启。sysbench 只读场景提升 26%/15%,基数估计不准时经典优化器仍可能更优。
MySQL
数据库
查询优化
Join
性能
哈希
成本
消息
9.7
社区版
ClickHouse 26.7 后台引擎控制命令合并,NATS JetStream 改成至少一次
代码
ClickHouse 26.7 后台引擎控制命令合并,NATS JetStream 改成至少一次
2026-10-05 21:02:41
ClickHouse 26.7 把 Kafka/RabbitMQ/NATS/S3Queue 等后台引擎的控制统一到 SYSTEM STOP/START/PAUSE/CANCEL/REFRESH;NATS JetStream 表改为插入成功后才 ack,默认语义变为至少一次,另新增 nats_wait_for_flush_interval 等设置。
ClickHouse
数据库
运维
投递
Valkey 9.2.0-rc1:无 fork RDB、Path Hash、ACL 角色与 B+ tree sorted set
编程
Valkey 9.2.0-rc1:无 fork RDB、Path Hash、ACL 角色与 B+ tree sorted set
2026-10-05 20:04:41
Valkey 9.2.0-rc1(2026-09-16,预发布)发布说明解读:新增无 fork RDB 快照(内存峰值降低但写入吞吐降约15%,不影响 AOF rewrite)、radix tree 的 Path Hash 数据类型、可复用 ACL 角色与 ACL DIGEST、大批量 sorted set 改用 B+ tree(OBJECT ENCODING 变 btree)、INCREX、热 key 检测、复制限流与优先级客户端,含配置步骤与取舍。
Valkey
Redis
数据库
运维
RDB
快照
2.0
MySQL 没有 MERGE/RETURNING:REPLACE、ON DUPLICATE KEY UPDATE、INSERT IGNORE 的坑与选型
编程
MySQL 没有 MERGE/RETURNING:REPLACE、ON DUPLICATE KEY UPDATE、INSERT IGNORE 的坑与选型
2026-10-05 00:05:38
标准 SQL 有 MERGE,MySQL 至今没有,也没有 RETURNING。本文对照 MySQL 三件套 upsert(REPLACE、INSERT ... ON DUPLICATE KEY UPDATE、INSERT IGNORE)的实际语义:REPLACE 触发删除+插入、自增空洞、外键级联与默认值重置;ON DUPLICATE KEY UPDATE 的 affected rows 0/1/2 与 8.0.20 后行别名写法;MariaDB 10.5+ 的 RETURNING 与限制。附选型对照表。
MERGE
RETURNING
MySQL
upsert
ON
DUPLICATE
KEY
UPDATE
REPLACE
INTO
MariaDB
SQL
数据库
GORM v1.30 的 gorm.G[T]:泛型 API 与链式 API 并存,复用实例不再污染 SQL
编程
GORM v1.30 的 gorm.G[T]:泛型 API 与链式 API 并存,复用实例不再污染 SQL
2026-10-05 00:04:54
GORM v1.30.0 起引入泛型 API gorm.G[T],本文对照传统链式写法给出 CRUD、Joins/Preload 新签名与移除的 FirstOrCreate/Save 迁移方式,并解释复用一个泛型实例为何不再条件污染(apply 每次 NewDB session 并重放 ops)。
GORM框架
Go
ORM
Go语言
数据库
MySQL 8.0 的终点是 8.0.46:不支持降级,升级前只有备份这一条退路
资讯
MySQL 8.0 的终点是 8.0.46:不支持降级,升级前只有备份这一条退路
2026-10-04 21:02:38
截至 2026 年 4 月,MySQL 8.0 随 8.0.46 到达 EoL,此后不再有补丁与安全更新。本文讲清 EoL 的含义、8.0 为何不支持降级(唯一退路是恢复升级前备份)、升级须先测后上,以及目标选 8.4 LTS 还是走 26.x 日历版本的 Innovation 线。
MySQL
数据库
升级
EOL
降级
PostgreSQL 18.6 升级自查:pgcrypto 曾静默把明文 XOR,GIN reltuples 也要检查
资讯
PostgreSQL 18.6 升级自查:pgcrypto 曾静默把明文 XOR,GIN reltuples 也要检查
2026-10-04 21:01:45
PostgreSQL 18.6 发布,18.5 因回归从未发布。其中 pgcrypto 的 PGP 加密在遇到不支持的 cipher(FIPS、legacy provider 未加载,如 blowfish/cast5/3des)时会静默把明文 XOR,等于没加密;新版默认解密失败,需 ignore-cipher-failure=1 剥壳重加密。另含逻辑解码输出插件白名单与 GIN reltuples、reindex 自查。
PostgreSQL
pgcrypto
数据库
安全
回归
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
14
下一页
共 14 页
到第
页
确定