我的数据库有问题。我在我的 Ubuntu 服务器上安装了 PostgreSQL 9.5。我更改了postgresql.conf文件以允许将 PostgreSQL 服务器绑定到 localhost。这允许我运行 pgAdmin 并通过转发我运行 PostgreSQL 的端口 5432 连接到我的数据库。
我遇到的问题是我只看到默认表“postgres”,但看不到我新创建的一个“游戏”。postgres=# create database games;
我通过与连接到服务器的 postgres 用户一起运行来创建此表。我知道数据库已创建,因为如果我postgres=# \l+
在连接到服务器时运行,我会得到一个数据库列表,包括我的“游戏”。
第二张图片是 pgAdmin 9.5 应用程序的屏幕截图,其中包含我用来连接服务器的所有属性值。所以我设法连接到服务器,但我无法看到数据库“游戏”。
我还更进一步,通过执行将所有权限授予 postgres 用户postgres=# grant all privileges on database games to postgres;
。您可以在我的第三个屏幕截图中看到访问权限已更改。但是这种变化并没有帮助我解决问题。我仍然无法在 pgAdmin 中看到“游戏”。我看到有人有类似的问题并在服务器上右键单击并单击“新建数据库”。
这似乎创建了一个新数据库,因为从 pgAdmin 中可以看到,应用程序能够找到我在 pgAdmin 中创建的分数表。我认为是这种情况的原因是,因为运行相同的 SQL 连接到服务器 games=# select * from score; 导致错误:关系“分数”不存在第 1 行:从分数中选择 *;。
我出错的任何其他想法。将不胜感激我能得到的任何帮助。
我可以登录到我的数据库。当我运行时psql games postgres
,这将使用 postgres 用户登录我的游戏数据库。这也是我登录并执行 select 语句的方式:
games=# select * from score;
错误:关系“分数”不存在第 1 行:从分数中选择 *;
我更进一步,打印了我们在“游戏”中的表格:
games=# \dt
未找到任何关系。