Fehler: Relation existiert nicht in der Greenplum-Datenbank

9

Ich arbeite daran PostgreSQL 8.2.15 (Greenplum-Datenbank 4.2.0 Build 1) (HAWQ 1.2.1.0 Build 10335).

Ich habe eine Funktion wie

geschrieben %Vor%

Ich habe es getestet wie

%Vor%

Es kann total funktionieren!

Hier ist das Problem, wenn ich die Funktion wie

rufe %Vor%

Postgres sagte mir, du liegst falsch!

  

FEHLER: Relation "my_table1" existiert nicht (segXX sliceX xx.xx.xx: 40003 pid = 570406)

  • Diese Tabellen und Funktionen sind in demselben Schema.
  • Ich kann auf sie zugreifen.
  • Beide Namen sind Kleinbuchstaben.

Also, hilf mir bitte.

Was ich versucht habe

  • verschiebe diese Tabellen von my_schema in public
  • verschiebe die Funktion in public
  • Fügen Sie ein Schema-Präfix wie my_schema.my_table1 hinzu.

Herausgegeben von 2015/04/19

Postgre - & gt; Postgres

Und ich habe es versucht wie

%Vor%

Es ist OK.

Wenn diese Funktion wie

bearbeitet wird %Vor%

Es kann auf jeden Fall funktionieren.

    
Clxy 07.04.2015, 00:55
quelle

3 Antworten

0

Die Antwort sind Funktionstypen.

Von offiziellen Dokumenten

Ссылка

    
Clxy 10.06.2015, 01:23
quelle
1

In Postgresql werden die Funktionen normalerweise im aktuellen Suchpfad der Sitzung ausgeführt. Das Problem besteht also möglicherweise darin, dass das Schema my_schema nicht im aktuellen Suchpfad enthalten ist, wenn Sie die Funktion ausführen.

Sie können das Problem lösen, indem Sie die Deklaration Ihrer Funktion wie folgt ändern:

%Vor%

(Ich bin nicht sicher, ob das in der Version 8 funktioniert)

Wenn die Klausel set search_path from current in 8.2 nicht funktioniert, hier ein Beispiel, wie man den Suchpfad innerhalb der Funktion temporär einstellt.

    
Gregor Raýman 14.04.2015 12:42
quelle
0

Schließlich habe ich einen Weg gefunden, der nicht perfektioniert ist, aber funktionieren kann.

Da kann ich von Segment aus auf die Tabelle zugreifen. Wenn Sie diese Funktion also aus dem Segment als Unterabfrage verschieben, wird dieses Problem gelöst.

SQL-Skript gefällt unten:

%Vor%

Trotzdem sind alle Vorschläge willkommen.

    
Clxy 29.05.2015 06:47
quelle

Tags und Links