DROP USER removes the specified user. It does not remove tables, views, or other objects owned by the user. If the user owns any database, an error is raised.
PostgreSQL includes a program dropuser that has the same functionality as this command (in fact, it calls this command) but can be run from the command shell.
To drop a user who owns a database, first drop the database or change its ownership.
It is unwise to drop a user who either owns any database objects or has any granted permissions on objects. Currently, this is only enforced for the case of owners of databases, but it is likely that future versions of PostgreSQL will check other cases.
The DROP USER statement is a PostgreSQL extension. The SQL standard leaves the definition of users to the implementation.