我正在设置PostgreSQL 9.1。我不能用PostgreSQL做任何事情:不能createdb,不能createuser;所有操作都返回错误消息
Fatal: role h9uest does not exist
h9uest是我的帐户名,我在这个帐户下执行apt-get安装PostgreSQL 9.1。 根帐户仍然存在类似的错误。
我正在设置PostgreSQL 9.1。我不能用PostgreSQL做任何事情:不能createdb,不能createuser;所有操作都返回错误消息
Fatal: role h9uest does not exist
h9uest是我的帐户名,我在这个帐户下执行apt-get安装PostgreSQL 9.1。 根帐户仍然存在类似的错误。
当前回答
我用docker-compose做了健康检查。
healthcheck:
test: ['CMD-SHELL', 'pg_isready']
interval: 5s
timeout: 5s
retries: 5
如果你也有这样的更改用户:
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres'] # <<<---
interval: 5s
timeout: 5s
retries: 5
其他回答
对我来说,像将端口从5432更改为5433这样简单的操作就可以了。
我把它安装在macOS上,必须:
cd /Applications/Postgres.app/Contents/Versions/9.5/bin
createuser -U postgres -s YOURUSERNAME
createdb YOURUSERNAME
来源如下:https://github.com/PostgresApp/PostgresApp/issues/313#issuecomment-192461641
sudo su - postgres
psql template1
在PGSQL上创建具有“超级用户”权限的角色
CREATE ROLE username superuser;
eg. CREATE ROLE demo superuser;
然后创建用户
CREATE USER username;
eg. CREATE USER demo;
为用户分配权限
GRANT ROOT TO username;
然后启用该用户登录,这样你就可以从普通的$ terminal运行:psql template1:
ALTER ROLE username WITH LOGIN;
在本地用户提示符,而不是根用户提示符中键入
sudo -u postgres createuser <local username>
输入本地用户密码。
然后输入前面的命令,生成“角色‘username’不存在”。
以上步骤为我解决了问题。 如果没有,请发送终端消息进行以上步骤。
工作方法,
vi /etc/postgresql/9.3/main/pg_hba.conf 本地所有postgres peer 这里将peer改为trust 重启,sudo服务postgresql重启 现在试试,psql -U postgres