2016-03-21 17 views
1

Ich habe ein Problem mit meiner Datenbank. Ich habe postgreSQL 9.5 auf meinem Ubuntu-Server installiert. Ich habe die postgresql.conf-Datei geändert, um den postgreSQL-Server an den localhost binden zu können. Dies ermöglicht es mir, pgAdmin auszuführen und eine Verbindung zu meiner Datenbank herzustellen, indem ich auch den Port 5432 weiterleite, wo ich mein postgreSQL laufe.pgAdmin 9.5 zeigt nicht alle Datenbanken

Das Problem, das ich erfahre, ist, dass ich nur die Standardtabelle 'postgres' sehe, aber nicht meine neu erstellte 'Spiele' (Ich erstellte diese Tabelle mit create database games mit dem Postgres-Benutzer mit dem Server verbunden).

enter image description here

Und hier ist mein Screenshot der pgAdmin Anwendung mit allen Eigenschaftswert I auf meinem Server verbinden.

enter image description here

Wie Sie aus dem ersten Bild sehen können ich die gleichen Berechtigungen wie für die Postgres-Datenbank verwenden - es ist leer, was den Zugang zu jedem gewähren soll. Ich weiß, dass ich das später ändern muss und es auf den Postgres-Benutzer beschränken muss, den ich habe, aber jetzt werde ich es so lassen. Sobald ich meine "Spiele" -Datenbank sehen kann, werde ich anfangen, die Sicherheit noch mehr zu straffen.

UPDATE Ich gewährte alle Zugriffe auf die Datenbank 'Spiele', die direkt auf dem dritten Bildschirm sichtbar ist abgeschossen. Das Zugriffsrecht ist unterschiedlich. Das hat mir nicht geholfen, ich würde die Datenbank immer noch nicht sehen, wenn ich mich mit dem Server mit pgAdmin verbinde. Jemand sah ein ähnliches Problem und führte den Rechtsklick auf den Server aus und klickte auf "Neue Datenbank". Dies scheint eine neue Datenbank erstellt zu haben, denn wie Sie aus dem pgAdmin sehen können, verwaltet die Anwendung die von mir in pgAdmin erstellte Ergebnistabelle. Der Grund, warum ich glaube, dass dies der Fall ist, ist, weil das Ausführen der gleichen SQL mit dem Server verbunden postgres=# select * from score; Ergebnisse in ERROR: relation "score" does not exist LINE 1: select * from score;.

enter image description here

Antwort

1

Ich schaffe es, das Problem zu finden. Eines meiner Probleme war, dass ich einen PostgreSQL-Server auf meinem Rechner installiert hatte. Scheint, ich habe es mit meiner pgAdmin-Installation installiert. Jedesmal, wenn ich mich mit meinem Server verbinden würde, würde ich eine Verbindung zu meinem Localhost-Server und nicht zu meinem Remote-Server aufbauen. Also habe ich nur den Server deinstalliert und nur den pgAdmin-Client installiert.

Das zweite Problem, das ich hatte, war, dass die Datei /etc/postgresql/9.5/main/pg_hba.conf geändert werden musste.So laufe ich:

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

und änderte die Linie

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

zu

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

Sobald das geändert wurde, hatte ich zwei Neustart die Konfiguration durch Ausführen:

sudo /etc/init.d/postgresql reload

Ich möchte auch darauf hinweisen, dass es wichtig ist, Postgres Benutzer als Unix und DB Benutzer mit gleichen Passwörter zu haben. Ich habe all diese Informationen here gefunden.

0

Versuchen Zugriffsrechte explizit für die neue Tabelle zu gewähren.

Ich glaube, eine leere Zugriffsrechte Spalte bedeutet, dass die Tabelle DEFAULT Zugriffsberechtigungen hat. Der Standardwert könnte kein öffentlicher Zugriff für Tabellen, Spalten, Schemas und Tablespaces sein. Für weitere Informationen: http://www.postgresql.org/docs/9.4/static/sql-grant.html

+0

Ich habe das versucht, aber es hat nicht gut getan. Ich habe 'postgres = # alle Privilegien für Datenbankspiele für Postgres gewährt;' und jetzt hat die Spieldatenbank Zugriffsrechte '= Tc/postgres + postgres = CTc/postgres'. Und ich sehe immer noch nur die Postgres-Datenbank, aber sonst nichts. –

+0

Wenn ich dasselbe wie [hier] mache (http://stackoverflow.com/questions/15754010/some-postgresql-databases-not-visible-through-clients-like-navicat-or-pgadmin), öffnet sich die Datenbank. Also versuche ich herauszufinden, dass es "pg_database.datistemplate" auf "true" gesetzt ist. –

+0

Nachdem ich 'Neue Datenbank' verwendet habe, ist die Datenbank 'Spiele' immer sichtbar. Aber es scheint, dass es nicht die gleiche 'Spiel' Datenbank wie die aufgelistete ist, wenn ich '\ l +' ausfühle. Ich sehe meinen Kommentar "Datenbank zum Speichern von Spielpartituren für verschiedene Spiele" nicht so, als wäre er mit "\ l +" gedruckt. –

Verwandte Themen