Windows: 如何将我的 PostgreSQL 用户设置为超级用户?
Windows: how can I set my PostgreSQL user to the superuser?
我正在尝试使用 PostgreSQL 9.4 创建数据库。我在命令提示符中键入 "psql",然后它要求输入密码。我提供了我在安装过程中设置的密码,但它说身份验证失败。网上查了一下,我的结论是需要使用超级用户,名字叫"postgres",也就是系统用户,密码是我在安装时设置的
我现在正在尝试将 PostgreSQL 设置为该超级用户。我花了很多时间上网寻找解决方案,但无法解决问题。我试过 postgres ALTER USER myuser WITH SUPERUSER
(我在 Windows 命令提示符中写的),但它说无法识别 "alter"。现在,当我尝试使用 PostgreSQL 时,我的主要问题是我收到错误:"role MYUSERNAME does not exist".(这是在我编辑 pg_hba.conf 以使其不要求输入密码)
默认情况下,psql
使用操作系统名称登录同名数据库。如果您想以用户 postgres
身份登录,您应该这样做:
psql -u postgres <any other options>
如果要求输入密码,请输入 postgres
用户的密码。您现在已连接到 postgres
数据库,除了创建新用户(对安装而言是全局的)和其他数据库外,您实际上不应该做任何事情。
进入控制台后,您可以创建新用户,例如:
CREATE ROLE myusername LOGIN PASSWORD secret;
以及新的数据库,例如:
CREATE DATABASE myowndb;
ALTER DATABASE myowndb OWNER TO myusername;
然后您使用 \q
从控制台注销。
为了能够使用新数据库访问 PostgreSQL,您必须编辑 pg_hba.conf
文件(示例,修改以匹配您的网络设置):
host myowndb myusername 192.168.0.0/16 md5
现在您从 Control Panel
上的 Administrative tools
中的 Services
选项卡重新启动 PostgreSQL 服务器。
然后您可以登录到您的新数据库:
psql -u myusername -d myowndb
或使用其他客户端,如 pgAdminIII
。
我正在尝试使用 PostgreSQL 9.4 创建数据库。我在命令提示符中键入 "psql",然后它要求输入密码。我提供了我在安装过程中设置的密码,但它说身份验证失败。网上查了一下,我的结论是需要使用超级用户,名字叫"postgres",也就是系统用户,密码是我在安装时设置的
我现在正在尝试将 PostgreSQL 设置为该超级用户。我花了很多时间上网寻找解决方案,但无法解决问题。我试过 postgres ALTER USER myuser WITH SUPERUSER
(我在 Windows 命令提示符中写的),但它说无法识别 "alter"。现在,当我尝试使用 PostgreSQL 时,我的主要问题是我收到错误:"role MYUSERNAME does not exist".(这是在我编辑 pg_hba.conf 以使其不要求输入密码)
默认情况下,psql
使用操作系统名称登录同名数据库。如果您想以用户 postgres
身份登录,您应该这样做:
psql -u postgres <any other options>
如果要求输入密码,请输入 postgres
用户的密码。您现在已连接到 postgres
数据库,除了创建新用户(对安装而言是全局的)和其他数据库外,您实际上不应该做任何事情。
进入控制台后,您可以创建新用户,例如:
CREATE ROLE myusername LOGIN PASSWORD secret;
以及新的数据库,例如:
CREATE DATABASE myowndb;
ALTER DATABASE myowndb OWNER TO myusername;
然后您使用 \q
从控制台注销。
为了能够使用新数据库访问 PostgreSQL,您必须编辑 pg_hba.conf
文件(示例,修改以匹配您的网络设置):
host myowndb myusername 192.168.0.0/16 md5
现在您从 Control Panel
上的 Administrative tools
中的 Services
选项卡重新启动 PostgreSQL 服务器。
然后您可以登录到您的新数据库:
psql -u myusername -d myowndb
或使用其他客户端,如 pgAdminIII
。