# PostgreSQL

# How to create read only user in PostgreSQL

<table class="highlight tab-size js-file-line-container" data-hpc="" data-paste-markdown-skip="" data-tab-size="8" data-tagsearch-path="read-access.sql" id="bkmrk----create-a-group-cr"><tbody><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk----create-a-group"><span class="pl-c">-- Create a group</span></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-create-role-readacce">CREATE ROLE readaccess;</td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-"></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk----grant-access-to-e"><span class="pl-c">-- Grant access to existing tables</span></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-grant-usage-on-schem"><span class="pl-k">GRANT</span> USAGE <span class="pl-k">ON</span> SCHEMA public TO readaccess;</td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-grant-select-on-all-"><span class="pl-k">GRANT</span> <span class="pl-k">SELECT</span> <span class="pl-k">ON</span> ALL TABLES <span class="pl-k">IN</span> SCHEMA public TO readaccess;</td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk--1"></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk----grant-access-to-f"><span class="pl-c">-- Grant access to future tables</span></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-alter-default-privil">ALTER DEFAULT PRIVILEGES <span class="pl-k">IN</span> SCHEMA public <span class="pl-k">GRANT</span> <span class="pl-k">SELECT</span> <span class="pl-k">ON</span> TABLES TO readaccess;</td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk--2"></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk----create-a-final-us"><span class="pl-c">-- Create a final user with password</span></td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-create-user-tomek-wi"><span class="pl-k">CREATE</span> <span class="pl-k">USER</span> <span class="pl-en">tomek</span> WITH PASSWORD <span class="pl-s"><span class="pl-pds">'</span>secret<span class="pl-pds">'</span></span>;</td></tr><tr><td class="blob-code blob-code-inner js-file-line" id="bkmrk-grant-readaccess-to-"><span class="pl-k">GRANT</span> readaccess TO tomek;</td></tr></tbody></table>