PL / pgSQL ist die Standardprozedursprache für das PostgreSQL-Datenbanksystem. Fragen zu PL / pgSQL sollten wahrscheinlich auch mit "PostgreSQL" gekennzeichnet sein.
Laut den Dokumenten: KONZURRENT Aktualisieren Sie die materialisierte Ansicht, ohne gleichzeitige Auswahlen in der materialisierten Ansicht zu sperren. (...) ... ANDERE INHALTE ... Selbst mit dieser Option kann jeweils nur ein REFRESH gegen eine materialisierte Ansicht ausgeführt werden . Ich hatte eine Funktion, die die letzte Aktualisierungszeit für eine MATERIALISIERTE …
Ich versuche, mehrere Datensätze mit dem Datentyp RECORD zurückzugeben. Gibt es eine Möglichkeit, an RECORD anzuhängen und mit jeder Iteration einen neuen Wert zu diesem RECORD hinzuzufügen / anzuhängen? Das heißt, ich möchte anhängen, recdamit nach recAblauf der Schleife eine Reihe von Zeilen entsteht, die ich am Ende meiner Funktion …
Ich versuche, Informationen über benutzerdefinierte PostgreSQL- Funktionen in der Leistung von prozeduralen Sprachen für Echtzeitaufgaben zu finden. Wie vergleichen sie sich mit eingebauten Funktionen? Gibt es einen Unterschied (im Overhead), wie Postgres die Funktionen plpython vs plpgsql vs pllua aufruft / verwaltet (ich interessiere mich für die Seite Postgres-Integration / …
In Postgres erhalten wir die "Stapelverfolgung" von Ausnahmen unter Verwendung dieses Codes: EXCEPTION WHEN others THEN GET STACKED DIAGNOSTICS v_error_stack = PG_EXCEPTION_CONTEXT; Dies funktioniert gut für "natürliche" Ausnahmen, aber wenn wir eine Ausnahme mit auslösen RAISE EXCEPTION 'This is an error!'; ... dann gibt es keine Stack-Trace. Laut einem Eintrag …
Ich benutze Postgresql 9.1 mit Ubuntu 12.04. Inspiriert von Craig Antwort auf meine Frage Verkettung von SETOF Typ oder SETOF Rekord Ich dachte , ich würde gut gehen mit der Verwendung return query, setof recordund eine Reihe Generator in diese plpgsql Funktion: create or replace function compute_all_pair_by_craig(id_obj bigint) returns setof …
Ich habe einen nicht perkenden Spieledämon in Perl geschrieben , der Acync-Abfragen verwendet, um Spielerstatistiken in eine PostgreSQL 9.3-Datenbank zu schreiben. Wenn ich jedoch etwas aus der Datenbank lesen muss (z. B. wenn ein Spieler gesperrt ist oder wenn der Spieler einen VIP-Status hat), verwende ich synchrone Abfragen. Dadurch wird …
Suchen Sie nach der am besten geeigneten Maßeinheit für eine Liste von Stoffen, bei denen die Stoffe in unterschiedlichen (aber kompatiblen) Volumeneinheiten angegeben sind. Einheitenumrechnungstabelle In der Einheitenumrechnungstabelle werden verschiedene Einheiten gespeichert und wie sich diese Einheiten verhalten: id unit coefficient parent_id 36 "microlitre" 0.0000000010000000000000000 37 37 "millilitre" 0.0000010000000000000000000 5 …
Ich schreibe ein Setup-Skript für eine Anwendung, die ein Addon für eine andere Anwendung ist, und möchte daher überprüfen, ob die Tabellen für die andere Anwendung vorhanden sind. Wenn nicht, möchte ich dem Benutzer einen nützlichen Fehler geben. Ich weiß jedoch nicht, in welchem Schema die Tabellen gespeichert werden. DO …
Haben Sie einen Tisch wie diesen: CREATE TABLE aggregated_master ( "user" BIGINT, type TEXT, date TIMESTAMP, operations BIGINT, amount NUMERIC, PRIMARY KEY ( "user", type, date ) ); Diese Tabelle ist der Master, von dem viele Partitionen erben. Die Partitionen werden bis MONAT im Feld DATUM ausgeführt. Beispiel: Partition für …
Ich möchte eine Funktion erstellen, um eine Tabelle mit einer bestimmten Struktur zu erstellen, die einen Teil des Tabellennamens als Argument verwendet, sodass der Name der Tabelle t_ lautet. Ähnlich wie dies: CREATE OR REPLACE FUNCTION create_table_type1(t_name VARCHAR(30)) RETURNS VOID AS $$ BEGIN EXECUTE "CREATE TABLE IF NOT EXISTS t_"|| …
Ich importiere eine große Anzahl großer Dateien in eine Reihe von Tabellen, die mithilfe von Schleifen in einem anonymen plpgsql-Codeblock partitioniert werden sollen $do$. $do$ BEGIN FOR yyyy in 2012..2016 THEN EXECUTE $$COPY table$$||yyyy||$$ FROM 'E:\data\file$$||yyyy||$$.csv DELIMITER ',' CSV;$$; END LOOP; END; $do$ LANGUAGE plpgsql Dieser gesamte Vorgang sollte ungefähr …
Ich schreibe einen Validierungsauslöser. Der Trigger muss überprüfen, ob die Summe eines Arrays einem anderen Feld entspricht. Da ich viele Instanzen dieser Validierung habe, möchte ich eine einzelne Prozedur schreiben und mehrere Trigger mit jeweils unterschiedlichen Feldern erstellen, die überprüft werden sollen. Zum Beispiel habe ich das folgende Schema: CREATE …
Ich frage mich, ob es eine Möglichkeit gibt, eine Variable vom Typ table in PL / pgSQL zu deklarieren, um Abfrageergebnisse zu speichern. Wie kann ich zum Beispiel etwas ausdrücken wie: q1 = select * from foo; q2 = select * from bar; for t1 in q1: for t2 in …
Ich frage mich, ob dies in Postgres möglich ist: Am besten anhand eines erfundenen Beispiels erklären: create or replace function test_function(filter_param1 varchar default null , filter_param2 varchar default null) returns integer as $$ declare stmt text; args varchar[]; wher varchar[]; retid integer; begin if filter_param1 is not null then array_append(args, …
Ich möchte eine RECORD-Datentypvariable (NEW-Variable) in eine Tabelle in einem Trigger einfügen. Wie würde SQL aussehen? Die folgenden Versuche waren erfolglos: EXECUTE 'INSERT INTO my_table VALUES ' || NEW; EXECUTE 'INSERT INTO my_table VALUES ' || NEW.*; EXECUTE 'INSERT INTO my_table SELECT * FROM ' || NEW;
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.