How to check if a postgres user exists?

前端 未结 4 1676
一生所求
一生所求 2021-01-30 02:04

createuser allows creation of a user (ROLE) in PostgreSQL. Is there a simple way to check if that user(name) exists already? Otherwise createuser returns with an er

4条回答
  •  北海茫月
    2021-01-30 02:36

    SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'
    

    And in terms of command line (thanks to Erwin):

    psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'"
    

    Yields 1 if found and nothing else.

    That is:

    psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...
    

提交回复
热议问题