read-pressure.sql 761 B

1234567891011
  1. BEGIN;
  2. CREATE TABLE IF NOT EXISTS xs_read_pressure_config(id boolean PRIMARY KEY DEFAULT true CHECK(id),concurrency integer NOT NULL DEFAULT 2 CHECK(concurrency BETWEEN 1 AND 8));
  3. INSERT INTO xs_read_pressure_config(id) VALUES(true) ON CONFLICT DO NOTHING;
  4. CREATE TABLE IF NOT EXISTS xs_read_permit(slot integer PRIMARY KEY,owner text,lease_until timestamptz);
  5. INSERT INTO xs_read_permit(slot) SELECT generate_series(1,8) ON CONFLICT DO NOTHING;
  6. CREATE TABLE IF NOT EXISTS xs_read_cache(
  7. key text PRIMARY KEY,company text NOT NULL,scope text NOT NULL,revision text NOT NULL,
  8. value jsonb,expires_at timestamptz NOT NULL DEFAULT 'epoch',owner text,lease_until timestamptz
  9. );
  10. CREATE INDEX IF NOT EXISTS xs_read_cache_expiry ON xs_read_cache(expires_at);
  11. COMMIT;