<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Postgresql on Blog de Sergio Comerón</title>
		<link>https://sergiocomeron.com/blog/tags/postgresql/</link>
		<description>Recent content in Postgresql on Blog de Sergio Comerón</description>
		<generator>Hugo</generator>
		<language>es</language>
		
		
		
		
			<lastBuildDate>Mon, 10 Aug 2026 10:00:00 +0200</lastBuildDate>
		
			<atom:link href="https://sergiocomeron.com/blog/tags/postgresql/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>7,5 millones de preguntas duplicadas: cómo rescaté un curso de Moodle sin cargarme los exámenes de otro</title>
				<link>https://sergiocomeron.com/blog/posts/moodle-7-millones-preguntas-duplicadas/</link>
				<pubDate>Mon, 10 Aug 2026 10:00:00 +0200</pubDate>
				<guid>https://sergiocomeron.com/blog/posts/moodle-7-millones-preguntas-duplicadas/</guid>
				<description>&lt;p&gt;Hay upgrades de Moodle que en el laboratorio salen en media hora y en producción te enseñan humildad. Esta es la historia completa de uno de los segundos: empezó con una tarea de actualización que no había forma de terminar, y acabó siendo una investigación forense en la base de datos que sacó a la luz un bug de restauración con meses de antigüedad, afectando a exámenes reales de un curso completamente distinto.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Por qué elegí Supabase para una app de citas que estoy montando por las tardes</title>
				<link>https://sergiocomeron.com/blog/posts/por-que-elegi-supabase/</link>
				<pubDate>Fri, 07 Aug 2026 09:00:00 +0200</pubDate>
				<guid>https://sergiocomeron.com/blog/posts/por-que-elegi-supabase/</guid>
				<description>&lt;p&gt;En ratos sueltos por las tardes estoy montando una app de citas. Nada que vaya a cambiarle la vida a nadie, un proyecto personal para aprender montando algo con usuarios reales de por medio, que es donde de verdad se aprende. Antes de escribir la primera línea de backend le pregunté a Claude Code qué usar, y me propuso &lt;strong&gt;Supabase&lt;/strong&gt;. Lo conocía de oídas — &amp;ldquo;un Firebase de código abierto&amp;rdquo; — pero de oídas no es suficiente cuando lo que vas a colgar ahí son cuentas, ubicaciones y fotos de gente real.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deuda técnica, parte 3: refactoricé una vista de 1.000 líneas… y debajo había una consulta escaneando toda la tabla de logs</title>
				<link>https://sergiocomeron.com/blog/posts/deuda-tecnica-mod-jitsi-3/</link>
				<pubDate>Sun, 07 Jun 2026 12:00:00 +0200</pubDate>
				<guid>https://sergiocomeron.com/blog/posts/deuda-tecnica-mod-jitsi-3/</guid>
				<description>&lt;p&gt;Tercera y última parte de la serie de deuda técnica en mi plugin de Jitsi para Moodle. En la &lt;a href=&#34;https://sergiocomeron.com/blog/posts/deuda-tecnica-mod-jitsi/&#34;&gt;parte 1&lt;/a&gt; troceé dos &amp;ldquo;archivos-dios&amp;rdquo;; en la &lt;a href=&#34;https://sergiocomeron.com/blog/posts/deuda-tecnica-mod-jitsi-2/&#34;&gt;parte 2&lt;/a&gt; desmonté la función de 924 líneas de la videollamada. Quedaba el último monstruo: &lt;strong&gt;&lt;code&gt;view.php&lt;/code&gt;&lt;/strong&gt;, la página que ve el alumno o el profesor al entrar en la actividad. 971 líneas que lo mezclaban todo.&lt;/p&gt;&#xA;&lt;p&gt;La refactoricé con la receta de siempre. Pero esta vez el refactor en sí es lo de menos —es el mismo patrón de las partes anteriores—. Lo interesante fue &lt;strong&gt;lo que apareció al levantar las alfombras&lt;/strong&gt;: una consulta escaneando la tabla de logs de todo el sitio, un caché que la tapaba, un N+1, un bug que dejaba grabar y emitir a la vez, y un par de &amp;ldquo;cápsulas del tiempo&amp;rdquo; enterradas en el código.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
