24 lines
962 B
SQL
24 lines
962 B
SQL
DO $roles$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_roles WHERE rolname = 'vector_reader') THEN
|
|
CREATE ROLE vector_reader NOLOGIN;
|
|
END IF;
|
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_roles WHERE rolname = 'vector_writer') THEN
|
|
CREATE ROLE vector_writer NOLOGIN;
|
|
END IF;
|
|
END
|
|
$roles$;
|
|
|
|
REVOKE ALL ON SCHEMA vectors FROM vector_reader, vector_writer;
|
|
REVOKE ALL ON ALL TABLES IN SCHEMA vectors FROM vector_reader, vector_writer;
|
|
REVOKE ALL ON ALL SEQUENCES IN SCHEMA vectors FROM vector_reader, vector_writer;
|
|
|
|
GRANT USAGE ON SCHEMA vectors TO vector_reader, vector_writer;
|
|
GRANT SELECT ON ALL TABLES IN SCHEMA vectors TO vector_reader;
|
|
|
|
GRANT INSERT, UPDATE
|
|
ON vectors.schema_records, vectors.evidence, vectors.memory TO vector_writer;
|
|
GRANT SELECT (record_key, kind, content_hash)
|
|
ON vectors.schema_records, vectors.evidence, vectors.memory TO vector_writer;
|
|
GRANT USAGE ON ALL SEQUENCES IN SCHEMA vectors TO vector_writer;
|