I have a query:
DROP TABLE IF EXISTS abc;
CREATE TABLE abc AS
SELECT title
FROM people
WHERE title like 'ram%'
GRANT SELECT ON abc IN SCHEMA public TO ram;
But on running this: I get the following syntax error:
(psycopg2.errors.SyntaxError) syntax error at or near "IN" LINE 26: GRANT SELECT ON abc IN SCHEMA publi...
without grant query its working fine.
What am I missing here?
Advertisement
Answer
To specify the schema, use ON public.abc.
The syntax IN SCHEMA public can only be used with ON ALL TABLES.
Also, you have to separate CREATE TABLE and GRANT with a semicolon, as they are two separate statements.