惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
博客园_首页
博客园 - 【当耐特】
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
GbyAI
GbyAI
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Help Net Security
T
Tailwind CSS Blog
B
Blog RSS Feed
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
博客园 - 叶小钗
雷峰网
雷峰网
量子位

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
SQLite Internals & PostgreSQL Multi-Master Replication Up...
soy · 2026-05-05 · via DEV Community

soy

SQLite Internals & PostgreSQL Multi-Master Replication Updates

Today's Highlights

This week's database highlights include critical technical discussions from the SQLite forum regarding optimizer behavior and trigger affinity changes, alongside the release of Spock 5.0.7, bringing enhanced logical multi-master replication to PostgreSQL.

SQLite drops affinity from NEW/OLD columns in triggers (SQLite Forum)

Source: https://sqlite.org/forum/info/819f2d6627c9b2019b4e8415b882bb45900e76045d5d13c4dfaf9c33b812f87c

This post from the SQLite forum highlights a significant, albeit subtle, change in how SQLite handles data type affinity for NEW and OLD pseudo-columns within triggers. Previously, these columns inherited the affinity of their corresponding table columns. The recent change, possibly introduced to align with SQL standards or simplify internal logic, means that NEW and OLD columns now default to NUMERIC affinity, or a more generic affinity, rather than the specific type declared for the table column. This can lead to unexpected type conversions or comparisons within trigger logic if developers are not aware of the change. For instance, if a TEXT column's OLD value is implicitly treated as NUMERIC, string comparisons might fail or yield incorrect results.

The implication for developers is that trigger logic should be explicitly robust to type changes or rely less on implicit affinity inheritance for NEW and OLD values. This change impacts the correctness of data manipulation and integrity checks performed by triggers, especially in scenarios involving mixed-type comparisons or when specific type coercions are critical. Understanding this behavior is vital for ensuring data integrity and predictable trigger execution, particularly when migrating SQLite databases or updating SQLite versions in embedded systems.

Comment: As an embedded database developer, this means I need to re-verify all my trigger logic, especially where NEW or OLD values are compared or used in expressions, to avoid subtle type coercion bugs. This is a critical detail for maintaining data integrity post-update.

Potential query optimiser bug (SQLite Forum)

Source: https://sqlite.org/forum/info/79fe718eb24c5ecc7ba52e4ed06dfb2e4cbb899e45153c70bbc4abb62aa0651a

A discussion on the SQLite forum brings to light a potential bug or unexpected behavior in the SQLite query optimizer. The forum thread suggests that under certain conditions, the optimizer might generate an inefficient query plan, leading to degraded performance. While the exact conditions and queries triggering the issue are usually complex, such discussions are invaluable for the SQLite development team and the broader community. These reports help in identifying edge cases, refining the optimizer's heuristics, and ultimately improving SQLite's overall performance and reliability.

For developers, being aware of potential optimizer quirks means adopting a more proactive approach to query tuning. If a query is performing unexpectedly slowly, especially after a database or SQLite version update, investigating the EXPLAIN QUERY PLAN output becomes crucial. This can help confirm if the optimizer is indeed making a suboptimal choice and inform strategies like rewriting the query, adding specific indexes, or providing hints (where supported or by restructuring the query) to guide the optimizer towards a better plan. Such deep dives into optimizer behavior are fundamental for performance tuning and ensuring applications remain responsive.

Comment: Encountering a performance bottleneck? This reminds me to always EXPLAIN QUERY PLAN complex SQLite queries, especially after an update, to ensure the optimizer isn't hitting a known or newly discovered inefficiency.

Spock 5.0.7 released: reliable logical multi-master replication for Postgres, under the PostgreSQL license (r/PostgreSQL)

Source: https://reddit.com/r/PostgreSQL/comments/1t3qwx4/spock_507_released_reliable_logical_multimaster/

Spock 5.0.7 has been released, providing robust logical multi-master replication for PostgreSQL under the permissive PostgreSQL license. Spock, developed by EDB (EnterpriseDB), is a powerful extension that enables active-active setups across multiple PostgreSQL instances. This capability is crucial for high availability, disaster recovery, and scaling read/write workloads by distributing writes across several master nodes, all while ensuring data consistency. The logical replication mechanism allows for fine-grained control over which tables and operations are replicated, offering flexibility for complex deployment scenarios, including hybrid cloud environments or geographic distribution.

The 5.0.7 release likely includes performance enhancements, bug fixes, and improved stability, making multi-master replication even more reliable for production environments. For organizations looking to move beyond traditional primary-standby replication or to implement more resilient and scalable PostgreSQL architectures, Spock offers a production-ready solution. Its open-source nature under the PostgreSQL license makes it accessible for a wide range of projects, from small-scale applications requiring enhanced uptime to large-scale enterprise systems demanding continuous operation and global data distribution. Developers can leverage Spock to build highly available services, implement zero-downtime migrations, and facilitate complex data synchronization tasks across distributed PostgreSQL clusters.

Comment: Spock is a game-changer for PostgreSQL users needing true active-active replication, offering flexibility for scaling and high availability that standard streaming replication doesn't provide. This release strengthens its position as a go-to tool for advanced Postgres deployments.