域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。现在,我们已启用新域名 AXUM.EU.ORG
  • 方案AXUM.RS 域名 = 3000
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名,或者该域名到期,本站将使用免费域名 AXUM.EU.ORG 继续提供服务。

分布式表

数据表

表名说明
users用户信息
discussions讨论的话题

普通SQL

CREATE TABLE users (
	id bigserial PRIMARY KEY,
	email VARCHAR(255) NOT NULL,
	nickname VARCHAR(50) NOT NULL,
	password VARCHAR(255) NOT NULL,
	created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
	is_del BOOLEAN NOT NULL DEFAULT FALSE
);

CREATE TABLE discussions(
	id bigserial NOT NULL,
	user_id bigint NOT NULL REFERENCES users (id),
	parent_id bigint NOT NULL DEFAULT 0,
	subject VARCHAR(255) NOT NULL,
	content TEXT NOT NULL,
	created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
	updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
	is_del BOOLEAN NOT NULL DEFAULT FALSE,
	PRIMARY KEY(user_id,id)
);

注意,由于 citus 分布式要求,discussions 的主键是 (user_id,id)

分布式规则

本例中,我们选用 users.id 字段作为分布式规则。

分布式 users

SELECT create_distributed_table('users', 'id');

分布式 discussions

SELECT create_distributed_table('discussions', 'user_id');

特别注意!discussions 使用的是 user_id 作为分布式规则,而不是 id

示例数据

要查看完整内容,请先登录