• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst Leere Ergebnismenge bei select-Statement unter PostgreSQL

gehrke

Administrator
Teammitglied
Moin *

Brauche mal jemanden, der/die mich schnell auf das richtige Gleis setzt. Ich habe kaum Erfahrung mit PostgreSQL, mehr von Oracle und MariaDB. Und scheinbar mache ich grobe Anfängerfehler.

Ich habe eine gut gefüllte Datenbank aus 2 Jahren Nextcloud-Betrieb. Es gelingt es mir nicht, auch nur in einer einzigen Tabelle sinnvoll Daten zu selektieren. Jedes Statement gibt eine leere Menge aus.

Beispiel:
Code:
# podman exec -it postgres psql -U postgres nextcloud

psql (15.10 (Debian 15.10-1.pgdg120+1))

Type "help" for help.


nextcloud-# \dt+ oc_activity

                                         List of relations

 Schema |    Name     | Type  |     Owner     | Persistence | Access method |  Size  | Description

--------+-------------+-------+---------------+-------------+---------------+--------+-------------

 public | oc_activity | table | oc_supervisor | permanent   | heap          | 140 MB |

(1 row)

Das Select-Statement wird klaglos ausgeführt, aber liefert nix:
Code:
nextcloud-# select * from oc_activity

Was mache ich falsch?
TNX
 
Zuletzt bearbeitet:

susejunky

Moderator
Teammitglied
Es gelingt es mir nicht, auch nur in einer einzigen Tabelle sinnvoll Daten zu selektieren. Jedes Statement gibt eine leere Menge aus.
Vorab: Ich habe keine Ahnung von PostgreSQL.

Ich interpretiere die von Dir gezeigten Informationen wie folgt:

Code:
# podman exec -it postgres psql -U postgres nextcloud
Du meldest Dich als Benutzer postgres an der Datenbank nextcloud an.

Code:
nextcloud-# \dt+ oc_activity

                                         List of relations

 Schema |    Name     | Type  |     Owner     | Persistence | Access method |  Size  | Description

--------+-------------+-------+---------------+-------------+---------------+--------+-------------

 public | oc_activity | table | oc_supervisor | permanent   | heap          | 140 MB |

(1 row)
Die Tabelle oc_activity gehört dem Benutzer oc_supervisor.

Besteht die Möglichkeit, dass der Benutzer postgres die Tabelle oc_activity nicht lesen darf, da sie dem Benutzer oc_supervisor gehört?
 
OP
gehrke

gehrke

Administrator
Teammitglied
Dank für Deine schnelle Antwort. Ich kann mich zwar mit diesem User anmelden, aber das Ergebnis ist leider identisch.


Code:
# podman exec -it postgres psql -U oc_supervisor nextcloud
psql (15.10 (Debian 15.10-1.pgdg120+1))
Type "help" for help.

nextcloud-> select * from oc_activity
<leer>
 
OP
gehrke

gehrke

Administrator
Teammitglied
Wollte schon einen gereizten Kommentar ablassen wie 'hör auf zu raten, das hab' ich alles schon probiert!'. Dann komme ich nur in eine Art interaktiver Shell, vermutlich für die Eingabe eines weiteren Statements.

Code:
--
(90298 rows)

~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
(END)
Wie gut, dass ich keinen gereizten Kommentar abgegeben habe. ;-)

Interessant ist ja, was ich bisher übersah:
Code:
(90298 rows)
90.000 Aktivitäten in der Nextcloud wäre zahlenmäßig durchaus ein möglicher Wert bei 2 Jahren Laufzeit. Also wird etwas ausgewertet, aber warum sehe ich keine Daten?
 

susejunky

Moderator
Teammitglied
Wollte schon einen gereizten Kommentar ablassen wie 'hör auf zu raten,
Da ich noch nicht einmal eine PostgreSQL-Installation zum Herumprobieren habe, muss ich - :)auch ohne gereizte Kommentare;) - jetzt leider "die Segel streichen".

Ich wünsche Dir viel Erfolg und drücke die Daumen, dass sich noch ein PostgreSQL-Guru findet der Dir weiterhelfen kann ...
 
OP
gehrke

gehrke

Administrator
Teammitglied
Danke - Du hast mir schon geholfen. Bin zwei Schritte weiter. Hab' zwar noch keinen Schimmer, was das ist, aber es hat etwas mit 'expanded display' zu tun. Das bleibt noch zu recherchieren.

Auf jeden Fall sehe ich jetzt Daten:
Code:
# podman exec -it postgres psql -U nextcloud nextcloud
psql (15.10 (Debian 15.10-1.pgdg120+1))
Type "help" for help.

nextcloud=# \x
Expanded display is on.

nextcloud=# select activity_id, timestamp, type  from oc_activity limit 5;
-[ RECORD 1 ]-------------
activity_id | 269754
timestamp   | 1729494973
type        | file_changed
-[ RECORD 2 ]-------------
activity_id | 295238
timestamp   | 1737874738
type        | file_changed
-[ RECORD 3 ]-------------
activity_id | 295239
timestamp   | 1737874738
type        | file_changed
-[ RECORD 4 ]-------------
activity_id | 295240
timestamp   | 1737874738
type        | file_changed
-[ RECORD 5 ]-------------
activity_id | 269759
timestamp   | 1729494974
type        | file_changed

nextcloud=#

Code:
nextcloud=# \x
Expanded display is off.
nextcloud=# select activity_id, timestamp, type  from oc_activity limit 5;
 activity_id | timestamp  |     type     
-------------+------------+--------------
      269754 | 1729494973 | file_changed
      295238 | 1737874738 | file_changed
      295239 | 1737874738 | file_changed
      295240 | 1737874738 | file_changed
      269759 | 1729494974 | file_changed
(5 rows)
Das Nutzungskonzept ist schon ganz schön weit weg von MariaDB.
 
OP
gehrke

gehrke

Administrator
Teammitglied
Lustig ist, dass jetzt scheinbar alles wie erwartet funktioniert, auch ohne "\x" zuvor. Bei der unlimmitierten Variante mit 90.298 Datensätzen werden mir diese in einem less-artigen Pager zum Scrollen angezeigt.

Ich habe keine Ahnung, warum das vorher nicht so war. Da hatte ich auch andere Tabellen mit deutlich weniger Daten getestet. 🤷‍♂️
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ich markiere das hier mal als 'Gelöst', weil ich nun Daten selektieren kann.

Wenn mir noch jemand erklären kann, was genau da los war, dann wäre das sehr fein.
TNX
 
Oben