{"kind": "tool", "major": "18", "item": {"slug": "dropuser", "name": "dropuser", "name_zh": "", "category": "Client applications", "summary": "dropuser \u2014 remove a PostgreSQL user account", "aliases": ["dropuser"], "content_hash": "f1bd4253d9579281f6cee86d8023e5626cea38b7a072b940650dceb199b4d72f", "versions": {"10": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "10.23"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/10/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/10/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/10/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/10/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/10/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/10/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/10/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/10/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/10/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/10/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/10/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/10/postgresql-10-A4.pdf", "bytes": 12631706, "pages": 2591, "sha256": "34497ab9efb45c5bdf1bd11b9016b5451354feb462fa029cf74557a5fa5fbbc1", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/10/postgresql-10-US.pdf", "bytes": 12531684, "pages": 2724, "sha256": "429cc7133ddf4f97c560aa466dc9caea4b718721a8321e293357037cf0af4733", "built_at": "2026-09-26"}}, "tree": "10", "index": "index.html", "major": "10", "pages": 1085, "release": "10.23", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea", "evidence_kind": "English manual and source declarations", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/app-dropuser.html", "file": "app-dropuser.html", "label": "10.23 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "9a4aeedd388b3898c7fc1726203c01bce1bbce38e539b7334ba13ea65903acbc"}, {"url": "/docs/10/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "e4330732b6acd6c025a1fbdce45574b23d964de847a1b849ea88b98ab628d2e2"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Only superusers and users with the <code class=\"literal\">CREATEROLE</code> privilege can remove <span class=\"productname\">PostgreSQL</span> users. (To remove a superuser, you must yourself be a superuser.)</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/10/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/10/libpq-envars.html\" title=\"33.14.\u00a0Environment Variables\">Section\u00a033.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/10/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/10/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre></div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2>\n<span class=\"simplelist\"><a class=\"xref\" href=\"/docs/10/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/10/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span></div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}]}, "comparison_hash": "b591bc061fff3d492357584a7586519bf32c0cd59b5ce58d7662b5e5400213e4"}, "11": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "11.22"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/11/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/11/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/11/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/11/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/11/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/11/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/11/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/11/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/11/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/11/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/11/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/11/postgresql-11-A4.pdf", "bytes": 13057499, "pages": 2732, "sha256": "41d75855e610d0d9b8802b87dc5b080bef8d7e91c7cf69401fbf8d3cf801b4b5", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/11/postgresql-11-US.pdf", "bytes": 12961189, "pages": 2883, "sha256": "6a8899ef36935a5b7ed2b436207564a567a4ef1eb1c2200195876b8de4d4fa30", "built_at": "2026-09-26"}}, "tree": "11", "index": "index.html", "major": "11", "pages": 1125, "release": "11.22", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f", "evidence_kind": "English manual and source declarations", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/app-dropuser.html", "file": "app-dropuser.html", "label": "11.22 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "a47a4618ccf8da5b114c32c7fc819db09d3e33630f705b4179dc815e02305991"}, {"url": "/docs/11/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "3a30e696058b118a55cc42892c39671d9bae86f77e1024d5ebcc4688ad9ab4c3"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Only superusers and users with the <code class=\"literal\">CREATEROLE</code> privilege can remove <span class=\"productname\">PostgreSQL</span> users. (To remove a superuser, you must yourself be a superuser.)</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/11/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/11/libpq-envars.html\" title=\"34.14.\u00a0Environment Variables\">Section\u00a034.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/11/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/11/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/11/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/11/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}]}, "comparison_hash": "b591bc061fff3d492357584a7586519bf32c0cd59b5ce58d7662b5e5400213e4"}, "12": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "12.22"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/12/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/12/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/12/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/12/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/12/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/12/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/12/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/12/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/12/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/12/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/12/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/12/postgresql-12-A4.pdf", "bytes": 13424351, "pages": 2803, "sha256": "7422cf53fd1939e7a3d2925231a88b0330e468afa5393627cac0ff86158a0621", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/12/postgresql-12-US.pdf", "bytes": 13322565, "pages": 2958, "sha256": "51f3b04e72907fc38512685946223452ea65f84419c60c66241dfa3396035e77", "built_at": "2026-09-26"}}, "tree": "12", "index": "index.html", "major": "12", "pages": 1131, "release": "12.22", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "svg_assets": 2, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4", "evidence_kind": "English manual and source declarations", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/app-dropuser.html", "file": "app-dropuser.html", "label": "12.22 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "3db2afafe34b82aa86bda9198edfef24d45e616fd8e4862de2fa8e6d502685d0"}, {"url": "/docs/12/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "089624dd131f52eea682b304f87a1acb03392ee7bcf78b000699c9b17c7ca22d"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Only superusers and users with the <code class=\"literal\">CREATEROLE</code> privilege can remove <span class=\"productname\">PostgreSQL</span> users. (To remove a superuser, you must yourself be a superuser.)</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/12/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/12/libpq-envars.html\" title=\"33.14.\u00a0Environment Variables\">Section\u00a033.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/12/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/12/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/12/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/12/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "13": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "13.23"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/13/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/13/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/13/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/13/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/13/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/13/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/13/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/13/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/13/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/13/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/13/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/13/postgresql-13-A4.pdf", "bytes": 13843239, "pages": 2826, "sha256": "171cc09f90936dbc1cbd503a98ff07ae72ea58ab9771ff051313f1217737799c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/13/postgresql-13-US.pdf", "bytes": 13739572, "pages": 2984, "sha256": "48d09c6e197d9db4220f41afe83efe848a8661b1b168d3b89419751ecaf6c24d", "built_at": "2026-09-26"}}, "tree": "13", "index": "index.html", "major": "13", "pages": 1139, "release": "13.23", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6", "evidence_kind": "English manual and source declarations", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/app-dropuser.html", "file": "app-dropuser.html", "label": "13.23 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "40e01b4483c8ce9314fa989798edc7e772443ef18e530ac3dec377fe2176fad5"}, {"url": "/docs/13/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "2a16c2982d9803edd4bd6920f76b66083e7f2959182d6a3bcec7ccfbac0a9ad8"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Only superusers and users with the <code class=\"literal\">CREATEROLE</code> privilege can remove <span class=\"productname\">PostgreSQL</span> users. (To remove a superuser, you must yourself be a superuser.)</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"xref\" href=\"/docs/13/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/13/libpq-envars.html\" title=\"33.14.\u00a0Environment Variables\">Section\u00a033.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/13/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/13/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/13/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/13/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "14": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "14.24"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/14/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/14/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/14/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/14/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/14/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/14/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/14/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/14/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/14/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/14/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/14/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/14/postgresql-14-A4.pdf", "bytes": 14354704, "pages": 2944, "sha256": "8bc6b9dd7b246888bb77f0a5e8c39a2eae52e9926569832669c7d1600becb27c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/14/postgresql-14-US.pdf", "bytes": 14242178, "pages": 3102, "sha256": "b7ecb5a5f62d8b9f73a69e25a7d26ba285373bc53168a553bff7b77955506db4", "built_at": "2026-09-26"}}, "tree": "14", "index": "index.html", "major": "14", "pages": 1158, "release": "14.24", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "revision": "588700d46356d8837c77c7c0a4e71e645fe6535983b8f1830aa8f2e4e41c40ae", "evidence_kind": "English manual and source declarations", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/app-dropuser.html", "file": "app-dropuser.html", "label": "14.24 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "b8d0cd7fb74233926fadfab3760ff98afa284fb5b71038eb6e3642af17422bef"}, {"url": "/docs/14/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "5a13567a052954dfe494dfaab9f50919faa1ae56023930fdbb78d45e53feccde"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Only superusers and users with the <code class=\"literal\">CREATEROLE</code> privilege can remove <span class=\"productname\">PostgreSQL</span> users. (To remove a superuser, you must yourself be a superuser.)</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/14/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/14/libpq-envars.html\" title=\"34.15.\u00a0Environment Variables\">Section\u00a034.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/14/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/14/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/14/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/14/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "15": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "15.19"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/15/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/15/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/15/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/15/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/15/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/15/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/15/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/15/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/15/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/15/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/15/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/15/postgresql-15-A4.pdf", "bytes": 14609140, "pages": 2987, "sha256": "66228564a4d16efb47d6a914085716ecfe22ca1566db56bc7c3d82f790646d72", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/15/postgresql-15-US.pdf", "bytes": 14495690, "pages": 3153, "sha256": "645a498c2390d47a6223ec74770631185807a19c484edb0fc5a295d9f460bc02", "built_at": "2026-09-26"}}, "tree": "15", "index": "index.html", "major": "15", "pages": 1168, "release": "15.19", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "revision": "6af958c6520151fc7697d56e0616b03fb00522c4568158674d452ae0644ba545", "evidence_kind": "English manual and source declarations", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/app-dropuser.html", "file": "app-dropuser.html", "label": "15.19 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "482e4ee34363deaf6692b17c5d2edf19464be86b4901f6260176d3068dcc910e"}, {"url": "/docs/15/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "015b2ea2bd205946a55a1b837e735570631bac831c92074a6bf58444f9a3cb98"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Only superusers and users with the <code class=\"literal\">CREATEROLE</code> privilege can remove <span class=\"productname\">PostgreSQL</span> users. (To remove a superuser, you must yourself be a superuser.)</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/15/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/15/libpq-envars.html\" title=\"34.15.\u00a0Environment Variables\">Section\u00a034.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/15/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/15/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/15/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/15/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "16": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "16.15"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/16/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/16/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/16/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/16/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/16/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/16/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/16/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/16/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/16/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/16/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/16/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/16/postgresql-16-A4.pdf", "bytes": 15282337, "pages": 3055, "sha256": "4bb6c1f63deedac98736d8c4c7bc0fad0ac24e85b07e21ee10411872f06afd06", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/16/postgresql-16-US.pdf", "bytes": 15164148, "pages": 3220, "sha256": "5b6b6166c89991199e144bb0ae34c17a5f29826251dbf19db1abc0df3a3e771b", "built_at": "2026-09-26"}}, "tree": "16", "index": "index.html", "major": "16", "pages": 1169, "release": "16.15", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "revision": "3c21e58b35318021716440e67bb8bafd392b6a2b965a244d90e9e33c99e0bdef", "evidence_kind": "English manual and source declarations", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/app-dropuser.html", "file": "app-dropuser.html", "label": "16.15 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "22da91e771cfbc9685c20b7992e6ac6962964a60fe2bb2a6ade962d28158e541"}, {"url": "/docs/16/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "a28c30c3c0f8783e16d56413a0b6fd39487e336da1683b29b60abf1c229cef26"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Superusers can use this command to remove any role; otherwise, only non-superuser roles can be removed, and only by a user who possesses the <code class=\"literal\">CREATEROLE</code> privilege and has been granted <code class=\"literal\">ADMIN OPTION</code> on the target role.</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/16/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/16/libpq-envars.html\" title=\"34.15.\u00a0Environment Variables\">Section\u00a034.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/16/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/16/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/16/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/16/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "17": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "17.11"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/17/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/17/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/17/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/17/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/17/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/17/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/17/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/17/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/17/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/17/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/17/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/17/postgresql-17-A4.pdf", "bytes": 15521293, "pages": 3099, "sha256": "1991354df0dc89e70ec39328c28988ef8b19c6a93671dab3893650b63e9f4e36", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/17/postgresql-17-US.pdf", "bytes": 15398150, "pages": 3270, "sha256": "07696c8f38abf31babf22d2db337093936e7c472d2af36d050b000c49bbcf52c", "built_at": "2026-09-26"}}, "tree": "17", "index": "index.html", "major": "17", "pages": 1143, "release": "17.11", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "revision": "58419c9b0dd42cb34c8d53695bb025a7e582edf55ccd4c5bcb1c2c7c71a37487", "evidence_kind": "English manual and source declarations", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/app-dropuser.html", "file": "app-dropuser.html", "label": "17.11 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "88db2723250f61fdfffa821b10e7c6cc7056c58844c768111dca321da46eb004"}, {"url": "/docs/17/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "3194fc72ddad8e2fcba55f8e007f83413cb352146cb65aaa9457a18d0314ee1b"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Superusers can use this command to remove any role; otherwise, only non-superuser roles can be removed, and only by a user who possesses the <code class=\"literal\">CREATEROLE</code> privilege and has been granted <code class=\"literal\">ADMIN OPTION</code> on the target role.</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/17/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/17/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/17/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/17/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/17/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/17/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "18": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "18.6"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/18/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/18/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/18/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/18/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/18/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/18/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/18/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/18/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/18/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/18/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/app-dropuser.html", "file": "app-dropuser.html", "label": "18.6 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "60e7e6a924ffccb20d39bdd2c9f597b0922a909c712340f573731a0b137b5e3b"}, {"url": "/docs/18/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "68f726af77272fe73a827be2b7b5958d0f2239a6f8ed44264e9d42496bfa4fd0"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Superusers can use this command to remove any role; otherwise, only non-superuser roles can be removed, and only by a user who possesses the <code class=\"literal\">CREATEROLE</code> privilege and has been granted <code class=\"literal\">ADMIN OPTION</code> on the target role.</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/18/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/18/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/18/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/18/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/18/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/18/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "19": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "19beta4"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/19/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/19/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/19/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/19/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/19/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/19/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/19/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/19/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/19/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/19/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/19/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/19/postgresql-19-A4.pdf", "bytes": 16064841, "pages": 3052, "sha256": "4dd099e4125c591128fc5f3ebd02178dc24781f9e5ae629f96d67c4c8547427b", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/19/postgresql-19-US.pdf", "bytes": 15974616, "pages": 3225, "sha256": "61971fa857f0956d47341a0388fa6af9ae10acf691d4b2fc009007d384b0342b", "built_at": "2026-09-26"}}, "tree": "19", "index": "index.html", "major": "19", "pages": 1155, "release": "19beta4", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "svg_assets": 5, "source_mode": "en SGML built with pinned official archive", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833", "evidence_kind": "English manual and source declarations", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "/docs/19/app-dropuser.html", "file": "app-dropuser.html", "label": "19beta4 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "50f7d07f4444875b648f67a7eacd7c32dde1af42b483f2d01257f9e6228c20b7"}, {"url": "/docs/19/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "c827f460db781b39da305303c88e73729a419cd2b2b9dedb126d8ad5cbf02c95"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Superusers can use this command to remove any role; otherwise, only non-superuser roles can be removed, and only by a user who possesses the <code class=\"literal\">CREATEROLE</code> privilege and has been granted <code class=\"literal\">ADMIN OPTION</code> on the target role.</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/19/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/19/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/19/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/19/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/19/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/19/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "20": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "20devel"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/devel/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/devel/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/devel/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/devel/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/devel/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/devel/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/devel/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/devel/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/devel/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/devel/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/devel/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/20/postgresql-20-A4.pdf", "bytes": 16030631, "pages": 3052, "sha256": "bd5d82c0ce38fc18f92a0447818a91a193a261776bca1c37564bf9a683e177d0", "built_at": "2026-09-28"}, "US": {"url": "/files/documentation/pdf/20/postgresql-20-US.pdf", "bytes": 15936613, "pages": 3223, "sha256": "d97d9e0db479a02f4234b175f50fcad70c3661619afc8d6df9b9437882e3c299", "built_at": "2026-09-28"}}, "tree": "0", "index": "index.html", "major": "20", "pages": 1156, "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "svg_assets": 6, "source_mode": "en SGML built with pinned official archive", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_snapshot_utc": "26-Sep-2026 20:22"}, "revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918", "evidence_kind": "English manual and source declarations", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "/docs/devel/app-dropuser.html", "file": "app-dropuser.html", "label": "20devel English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "15a29c4cac1254baf69e982e75e2eab44e6831b3743400ba24d026090f022b66"}, {"url": "/docs/devel/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "a6c7ba748fa1d9feac5bb7cde41d1d36a1f4c26d5963e07fb103d02918b2a8ca"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Superusers can use this command to remove any role; otherwise, only non-superuser roles can be removed, and only by a user who possesses the <code class=\"literal\">CREATEROLE</code> privilege and has been granted <code class=\"literal\">ADMIN OPTION</code> on the target role.</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/devel/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/devel/libpq-envars.html\" title=\"32.14.\u00a0Environment Variables\">Section\u00a032.14</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/devel/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/devel/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/devel/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/devel/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}}}, "snapshot": {"facts": [{"label": "Documented executable", "value": "dropuser"}, {"label": "Executable version", "value": "18.6"}, {"label": "Reference inventory", "value": "Client applications"}, {"label": "Option definition groups", "value": "10"}], "tables": [{"key": "options", "rows": [{"summary": "Echo the commands that dropuser generates and sends to the server.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-e --echo"}}, {"summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-i --interactive"}}, {"summary": "Print the dropuser version and exit.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-V --version"}}, {"summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "--if-exists"}}, {"summary": "Show help about dropuser command line arguments, and exit.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-? --help"}}, {"summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-h host --host= host"}}, {"summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-p port --port= port"}}, {"summary": "User name to connect as (not the user name to drop).", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-U username --username= username"}}, {"summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-w --no-password"}}, {"summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": {"url": "/docs/18/app-dropuser.html", "text": "-W --password"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}, {"key": "environment", "rows": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "title": "Environment variables", "columns": [{"key": "name", "label": "Variable"}, {"key": "description", "label": "Meaning"}]}], "options": [{"names": ["-e", "--echo"], "summary": "Echo the commands that dropuser generates and sends to the server.", "signature": "-e --echo", "source_url": "/docs/18/app-dropuser.html", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "summary": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.", "signature": "-i --interactive", "source_url": "/docs/18/app-dropuser.html", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "summary": "Print the dropuser version and exit.", "signature": "-V --version", "source_url": "/docs/18/app-dropuser.html", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "summary": "Do not throw an error if the user does not exist. A notice is issued in this case.", "signature": "--if-exists", "source_url": "/docs/18/app-dropuser.html", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "summary": "Show help about dropuser command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/18/app-dropuser.html", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "summary": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.", "signature": "-h host --host= host", "source_url": "/docs/18/app-dropuser.html", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "summary": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.", "signature": "-p port --port= port", "source_url": "/docs/18/app-dropuser.html", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "summary": "User name to connect as (not the user name to drop).", "signature": "-U username --username= username", "source_url": "/docs/18/app-dropuser.html", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "summary": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.", "signature": "-w --no-password", "source_url": "/docs/18/app-dropuser.html", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "summary": "Force dropuser to prompt for a password before connecting to a database.", "signature": "-W --password", "source_url": "/docs/18/app-dropuser.html", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/app-dropuser.html", "file": "app-dropuser.html", "label": "18.6 English manual \u00b7 app-dropuser.html", "anchor": "", "sha256": "60e7e6a924ffccb20d39bdd2c9f597b0922a909c712340f573731a0b137b5e3b"}, {"url": "/docs/18/reference-client.html", "file": "reference-client.html", "label": "Client applications inventory", "anchor": "", "sha256": "68f726af77272fe73a827be2b7b5958d0f2239a6f8ed44264e9d42496bfa4fd0"}], "sections": [], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "signature": "dropuser [ connection-option ...] [ option ...] [ username ]", "description": ["dropuser \u2014 remove a PostgreSQL user account"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}], "manual_html": "<div><div class=\"refentry\" id=\"APP-DROPUSER\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">dropuser</span></span></h2>\n<p>dropuser \u2014 remove a <span class=\"productname\">PostgreSQL</span> user account</p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.4.7.4.1\"><code class=\"command\">dropuser</code> [<em class=\"replaceable\"><code>connection-option</code></em>...] [<em class=\"replaceable\"><code>option</code></em>...] [<em class=\"replaceable\"><code>username</code></em>]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.5\">\n<h2>Description</h2>\n<p><span class=\"application\">dropuser</span> removes an existing <span class=\"productname\">PostgreSQL</span> user. Superusers can use this command to remove any role; otherwise, only non-superuser roles can be removed, and only by a user who possesses the <code class=\"literal\">CREATEROLE</code> privilege and has been granted <code class=\"literal\">ADMIN OPTION</code> on the target role.</p>\n<p><span class=\"application\">dropuser</span> is a wrapper around the SQL command <a class=\"link\" href=\"/docs/18/sql-droprole.html\" title=\"DROP ROLE\"><code class=\"command\">DROP ROLE</code></a>. There is no effective difference between dropping users via this utility and via other methods for accessing the server.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.6\">\n<h2>Options</h2>\n<p><span class=\"application\">dropuser</span> accepts the following command-line arguments:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><em class=\"replaceable\"><code>username</code></em></span></dt>\n<dd>\n<p>Specifies the name of the <span class=\"productname\">PostgreSQL</span> user to be removed. You will be prompted for a name if none is specified on the command line and the <code class=\"option\">-i</code>/<code class=\"option\">--interactive</code> option is used.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-e</code><br></span><span class=\"term\"><code class=\"option\">--echo</code></span></dt>\n<dd>\n<p>Echo the commands that <span class=\"application\">dropuser</span> generates and sends to the server.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-i</code><br></span><span class=\"term\"><code class=\"option\">--interactive</code></span></dt>\n<dd>\n<p>Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">dropuser</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">--if-exists</code></span></dt>\n<dd>\n<p>Do not throw an error if the user does not exist. A notice is issued in this case.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">dropuser</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n<p><span class=\"application\">dropuser</span> also accepts the following command-line arguments for connection parameters:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-h <em class=\"replaceable\"><code>host</code></em></code><br></span><span class=\"term\"><code class=\"option\">--host=<em class=\"replaceable\"><code>host</code></em></code></span></dt>\n<dd>\n<p>Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-p <em class=\"replaceable\"><code>port</code></em></code><br></span><span class=\"term\"><code class=\"option\">--port=<em class=\"replaceable\"><code>port</code></em></code></span></dt>\n<dd>\n<p>Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-U <em class=\"replaceable\"><code>username</code></em></code><br></span><span class=\"term\"><code class=\"option\">--username=<em class=\"replaceable\"><code>username</code></em></code></span></dt>\n<dd>\n<p>User name to connect as (not the user name to drop).</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-w</code><br></span><span class=\"term\"><code class=\"option\">--no-password</code></span></dt>\n<dd>\n<p>Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a <code class=\"filename\">.pgpass</code> file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-W</code><br></span><span class=\"term\"><code class=\"option\">--password</code></span></dt>\n<dd>\n<p>Force <span class=\"application\">dropuser</span> to prompt for a password before connecting to a database.</p>\n<p>This option is never essential, since <span class=\"application\">dropuser</span> will automatically prompt for a password if the server demands password authentication. However, <span class=\"application\">dropuser</span> will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing <code class=\"option\">-W</code> to avoid the extra connection attempt.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.7\">\n<h2>Environment</h2>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"envar\">PGHOST</code><br></span><span class=\"term\"><code class=\"envar\">PGPORT</code><br></span><span class=\"term\"><code class=\"envar\">PGUSER</code></span></dt>\n<dd>\n<p>Default connection parameters</p>\n</dd>\n<dt><span class=\"term\"><code class=\"envar\">PG_COLOR</code></span></dt>\n<dd>\n<p>Specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</dd>\n</dl>\n</div>\n<p>This utility, like most other <span class=\"productname\">PostgreSQL</span> utilities, also uses the environment variables supported by <span class=\"application\">libpq</span> (see <a class=\"xref\" href=\"/docs/18/libpq-envars.html\" title=\"32.15.\u00a0Environment Variables\">Section\u00a032.15</a>).</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.8\">\n<h2>Diagnostics</h2>\n<p>In case of difficulty, see <a class=\"xref\" href=\"/docs/18/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a> and <a class=\"xref\" href=\"/docs/18/app-psql.html\" title=\"psql\"><span class=\"refentrytitle\"><span class=\"application\">psql</span></span></a> for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the <span class=\"application\">libpq</span> front-end library will apply.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.9\">\n<h2>Examples</h2>\n<p>To remove user <code class=\"literal\">joe</code> from the default database server:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser joe</code></strong>\n</pre>\n<p>To remove user <code class=\"literal\">joe</code> using the server on host <code class=\"literal\">eden</code>, port 5000, with verification and a peek at the underlying command:</p>\n<pre class=\"screen\"><code class=\"prompt\">$ </code><strong class=\"userinput\"><code>dropuser -p 5000 -h eden -i -e joe</code></strong>\n<code class=\"computeroutput\">Role \"joe\" will be permanently removed.\nAre you sure? (y/n) </code><strong class=\"userinput\"><code>y</code></strong>\n<code class=\"computeroutput\">DROP ROLE joe;</code>\n</pre>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.4.7.10\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/18/app-createuser.html\" title=\"createuser\"><span class=\"refentrytitle\"><span class=\"application\">createuser</span></span></a>, <a class=\"xref\" href=\"/docs/18/sql-droprole.html\" title=\"DROP ROLE\"><span class=\"refentrytitle\">DROP ROLE</span></a></span>\n</div>\n</div></div>", "manual_path": "app-dropuser.html", "comparison_data": {"options": [{"names": ["-e", "--echo"], "signature": "-e --echo", "description": "Echo the commands that dropuser generates and sends to the server."}, {"names": ["-i", "--interactive"], "signature": "-i --interactive", "description": "Prompt for confirmation before actually removing the user, and prompt for the user name if none is specified on the command line."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the dropuser version and exit."}, {"names": ["--if-exists"], "signature": "--if-exists", "description": "Do not throw an error if the user does not exist. A notice is issued in this case."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about dropuser command line arguments, and exit."}, {"names": ["-h host", "--host= host"], "signature": "-h host --host= host", "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket."}, {"names": ["-p port", "--port= port"], "signature": "-p port --port= port", "description": "Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections."}, {"names": ["-U username", "--username= username"], "signature": "-U username --username= username", "description": "User name to connect as (not the user name to drop)."}, {"names": ["-w", "--no-password"], "signature": "-w --no-password", "description": "Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password."}, {"names": ["-W", "--password"], "signature": "-W --password", "description": "Force dropuser to prompt for a password before connecting to a database. This option is never essential, since dropuser will automatically prompt for a password if the server demands password authentication. However, dropuser will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt."}], "synopsis": ["dropuser [ connection-option ...] [ option ...] [ username ]"], "environment": [{"name": "PGHOST PGPORT PGUSER", "description": "Default connection parameters"}, {"name": "PG_COLOR", "description": "Specifies whether to use color in diagnostic messages. Possible values are always , auto and never ."}]}, "comparison_hash": "712ee9383bd36a278d21d81369a24768c5af33f2e6afcd32706948a80cb277b8"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}