<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Tacnode — PostgreSQL</title><description>PostgreSQL engineering writing from Tacnode: materialized views, full-text search, schema design, and query internals.</description><link>https://tacnode.io/</link><language>en-us</language><item><title>Postgres MCP Server: Setup, Tools, and Safe Query Access</title><link>https://tacnode.io/post/postgres-mcp-server-setup-and-safe-query-access</link><guid isPermaLink="true">https://tacnode.io/post/postgres-mcp-server-setup-and-safe-query-access</guid><description>A practical guide to running a Postgres MCP server — which implementation to pick, how to wire it into Claude Desktop, Cursor, and VS Code with Docker, what tools it exposes, and how to give an agent query access without handing it your database.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><category>MCP</category><category>PostgreSQL</category><category>AI Agents</category><category>Database Security</category><category>Row-Level Security</category><category>Developer Tools</category><author>Boyd Stowe</author></item><item><title>Postgres Schema Design Principles for OLTP, Analytics, and Real-Time Decisions</title><link>https://tacnode.io/post/postgres-schema-design-principles</link><guid isPermaLink="true">https://tacnode.io/post/postgres-schema-design-principles</guid><description>A practical guide to Postgres schema design principles — database/schema/table hierarchy, normalization, indexing, partitioning, access control, schema evolution — and where the conventional rules need revision for systems that commit decisions inside small validity windows.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate><category>PostgreSQL</category><category>Schema Design</category><category>Database Design</category><category>Multi-Tenant</category><category>Real-Time Decisions</category><category>Data Architecture</category><author>Alex Kimball</author></item><item><title>Postgres Materialized Views: Create, Refresh, and Optimize</title><link>https://tacnode.io/post/postgres-materialized-views</link><guid isPermaLink="true">https://tacnode.io/post/postgres-materialized-views</guid><description>How to create, refresh, and optimize a Postgres materialized view — plus the structural limit every team hits when reads need fresh derived state under concurrency.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate><category>PostgreSQL</category><category>Materialized View</category><category>Database Performance</category><category>Data Freshness</category><category>Real-Time Analytics</category><author>Alex Kimball</author></item><item><title>Incremental Materialized View: How to Keep Derived State Fresh in Real Time</title><link>https://tacnode.io/post/incremental-materialized-views</link><guid isPermaLink="true">https://tacnode.io/post/incremental-materialized-views</guid><description>Standard materialized views recompute everything on a schedule. Incremental materialized views apply only the delta — bounding refresh cost to what actually changed. Here&apos;s how they work across Postgres, ClickHouse, Databricks, streaming databases, and Tacnode, what each approach can and can&apos;t do, and where they all hit the same structural limit.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><category>Materialized Views</category><category>Incremental View Maintenance</category><category>PostgreSQL</category><category>ClickHouse</category><category>Stream Processing</category><category>Real-Time Data</category><category>Derived Context</category><author>Alex Kimball</author></item><item><title>Foreign Data Wrappers: S3, Iceberg &amp; Delta Lake</title><link>https://tacnode.io/post/foreign-data-wrapper-query-s3-iceberg-delta-lake-sql</link><guid isPermaLink="true">https://tacnode.io/post/foreign-data-wrapper-query-s3-iceberg-delta-lake-sql</guid><description>Foreign data wrappers let you query Parquet on S3, Iceberg tables, and Delta Lake catalogs with standard SQL and zero data movement. Complete setup guide.</description><pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate><category>Foreign Data Wrapper</category><category>PostgreSQL</category><category>Data Lake</category><category>Apache Iceberg</category><category>Delta Lake</category><category>S3</category><category>Data Federation</category><author>Boyd Stowe</author></item><item><title>Full-Text Search in PostgreSQL: A Complete Guide</title><link>https://tacnode.io/post/full-text-search-postgresql-complete-guide</link><guid isPermaLink="true">https://tacnode.io/post/full-text-search-postgresql-complete-guide</guid><description>Learn how PostgreSQL full-text search works: tsvector, tsquery, GIN indexes, relevance ranking, and fuzzy matching — with production-ready SQL examples.</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate><category>Full-Text Search</category><category>PostgreSQL</category><category>Text Search</category><category>Inverted Index</category><category>Search Ranking</category><category>Trigram</category><category>Database Indexing</category><author>Boyd Stowe</author></item></channel></rss>