CREATE TABLE quota_reservations ( id BIGSERIAL PRIMARY KEY, tenant_id BIGINT NOT NULL REFERENCES tenants(id), quota_type VARCHAR(50) NOT NULL, resource_type VARCHAR(50) NOT NULL, resource_id BIGINT NOT NULL, reserved_amount INT NOT NULL, consumed_amount INT NOT NULL DEFAULT 0, refunded_amount INT NOT NULL DEFAULT 0, status VARCHAR(20) NOT NULL DEFAULT 'pending', expire_at TIMESTAMPTZ NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), CONSTRAINT chk_quota_reservation_status CHECK (status IN ('pending', 'confirmed', 'refunded', 'reset')) ); CREATE INDEX idx_quota_reservation_tenant_status ON quota_reservations(tenant_id, status);