PostgreSQL createdb throw fatal error
我正在尝试在linux机器上的PostgreSQL上创建db。 我使用以下命令来创建数据库。
createdb mydbname;
这会引发以下错误。
createdb: could not connect to database postgres: FATAL: database
"postgres" does not exist
我是PostgreSQL的新手。 你能指导我完成这个错误吗? 我只想在psql上创建一个DB。
看起来你放弃了postgres数据库。 它是许多管理操作的默认设置,因此您可能需要重新创建它:
1
| createdb --maintenance-db=template1 -T template0 postgres; |
正在做的是连接到内置的DB template1,以便通过制作template0的副本来创建db postgres。
一旦完成,你的命令:
会正常工作。
-
这给出了以下错误createdb: illegal option -- d Try"createdb --help" for more information.
-
然后我将参数-d更改为-D。之后,它给出了另一个错误,如下面的createdb: database creation failed: ERROR: syntax error at or near"TABLESPACE" at character 26
-
我编辑你的命令如下createdb -T template1 postgres;它意味着将-d更改为-d。然后我的问题得到解决。那是你要执行的命令吗?
-
@guru是的,只是忘了先查看联机帮助页
-
你能把它改成-T吗?解决方案工作正常。然后我可以将其标记为正确的答案。
-
如果您在答案上将-d更改为-T,我可以将其设为绿色。这对其他人有用。
-
@guru很奇怪,它实际上不应该有。现在显示的更正的应该是。
su - postgres将用户更改为postgres
psql - 运行psql终端
postgres# create database somedatabase创建数据库;
postgres#\c somedatabase connecto到数据库
somedatabase#您作为postgres用户连接到该数据库
-
这里第二个命令psql给出如下错误(psql: FATAL: database"postgres" does not exist)
-
你启动了服务器吗? sudo service postgresql start或类似的
-
它已经在运行了。即使我可以使用其他现有的DB。
-
psql -U postgres -d existingdb(将用用户postgres和with连接到终端),然后运行create database newdb。似乎postgres数据库被删除!! ???。我假设你没有删除它。
-
运行psql -U postgres -l列出所有数据库。你应该有postgres数据库。
1 2 3 4
| su - postgres CHANGE USER TO postgres
createdb
createdb somedatabase
psql somedatabase |
第一行更改为postgres系统用户。 第二行为postgres管理员用户创建一个数据库。 第三行创建您尝试制作的数据库。 第四行作为postgres用户连接到它。