<story><title>Citus 12: Schema-based sharding for PostgreSQL</title><url>https://www.citusdata.com/blog/2023/07/18/citus-12-schema-based-sharding-for-postgres/</url></story><parent_chain></parent_chain><comment><author>mslot</author><text>Nice to see this on HN :)&lt;p&gt;The high-level is: You enable a setting and every CREATE SCHEMA creates a new shard. All the tables in the schema will be co-located so you can have efficient joins &amp;amp; foreign keys between the tables.&lt;p&gt;On top of that, you can also have reference tables that are replicated to all nodes, again for fast joins &amp;amp; foreign keys with all schemas.&lt;p&gt;Everything else is about making every PostgreSQL feature work as seamlessly as if there was no sharding. You can still do things like transactions across schemas, create and use custom types, access controls, work with other extensions, use procedures, etc.</text></comment>
<story><title>Citus 12: Schema-based sharding for PostgreSQL</title><url>https://www.citusdata.com/blog/2023/07/18/citus-12-schema-based-sharding-for-postgres/</url></story><parent_chain></parent_chain><comment><author>pickledish</author><text>Hm, question for people a bit more familiar with Postgres -- what is meant by &amp;quot;schema&amp;quot; here?&lt;p&gt;My definition is &amp;quot;the columns and column types of a table&amp;quot;, but, that doesn&amp;#x27;t seem to make sense with what they&amp;#x27;re talking about here (&amp;quot;large&amp;quot; and &amp;quot;small&amp;quot; schemas probably aren&amp;#x27;t referring to wide and narrow tables for example, and I don&amp;#x27;t see how sharding by my definition of &amp;quot;schema&amp;quot; could even make sense anyways)</text></comment>