pgAdmin 9.5没有显示所有数据库

时间:2016-03-21 22:37:02

标签: database pgadmin postgresql-9.5

我的数据库存在问题。我在我的Ubuntu服务器上安装了postgreSQL 9.5。我更改了postgresql.conf文件以允许将postgreSQL服务器绑定到localhost。这允许我运行pgAdmin并通过转发端口5432连接到我的数据库,在那里运行我的postgreSQL。

我遇到的问题是我只看到默认表'postgres',但不是我新创建的'游戏'(我通过运行create database games创建了这个表,其中postgres用户连接到服务器)

enter image description here

这是我的pgAdmin应用程序的屏幕截图,其中包含我用来连接到服务器的所有属性值。

enter image description here

从第一张图片中可以看出,我使用与postgres数据库相同的权限 - 它是空白的,应该授予每个人访问权限。我知道我必须稍后更改它并将其限制为我拥有的postgres用户,但是现在我会这样做。一旦我设法看到我的“游戏”数据库,那么我将开始更多地收紧安全性。

更新我授予了对数据库“游戏”的所有访问权限,这在第三个屏幕截图中可见。访问权限是不同的。这对我没有帮助,当用pgAdmin连接到服务器时,我仍然看不到数据库。看到有人遇到类似问题并在服务器上右键单击并单击“新建数据库”。这似乎创建了一个新数据库,因为从pgAdmin可以看到,应用程序设法找到我在pgAdmin中创建的分数表。我相信这种情况的原因是,因为运行连接到服务器postgres=# select * from score;的相同SQL会导致ERROR: relation "score" does not exist LINE 1: select * from score;

enter image description here

2 个答案:

答案 0 :(得分:1)

我设法找到了问题。我的一个问题是我(不知道)在我的机器上安装了一个postgreSQL服务器。好像我用我的long long安装它安装了它。所以每次我连接到我的服务器,我都会建立到我的localhost服务器的连接,而不是我的远程服务器。所以我刚刚卸载了服务器并只安装了pgAdmin客户端。

我遇到的第二个问题是文件pgAdmin必须更改。所以我跑:

/etc/postgresql/9.5/main/pg_hba.conf

并更改了行

sudo vi /etc/postgresql/9.5/main/pg_hba.conf

# Database administrative login by Unix domain socket local all postgres peer

更改后,我必须通过执行以下命令重新启动配置:

# Database administrative login by Unix domain socket local all postgres md5

我还要指出,将postgres用户作为具有相同密码的unix和DB用户非常重要。我找到了所有这些信息here

答案 1 :(得分:0)

尝试为新表明确授予访问权限。

我相信空白访问权限列意味着该表具有DEFAULT访问权限。缺省情况可能是表,列,模式和表空间没有公共访问权限。有关详细信息:http://www.postgresql.org/docs/9.4/static/sql-grant.html