PL / pgSQL ist die Standardprozedursprache für das PostgreSQL-Datenbanksystem. Fragen zu PL / pgSQL sollten wahrscheinlich auch mit "PostgreSQL" gekennzeichnet sein.
Ich arbeite an einer Funktion, mit der ich einen Index hinzufügen kann, wenn er nicht vorhanden ist. Ich habe das Problem, dass ich keine Liste der zu vergleichenden Indizes bekomme. Irgendwelche Gedanken? Dies ist ein ähnliches Problem wie bei der Spaltenerstellung, das mit folgendem Code behoben wird: https://stackoverflow.com/a/12603892/368511
Aus einem MySQL-Hintergrund, in dem die Leistung gespeicherter Prozeduren (älterer Artikel) und die Benutzerfreundlichkeit fraglich sind, bewerte ich PostgreSQL für ein neues Produkt für mein Unternehmen. Ich möchte unter anderem einen Teil der Anwendungslogik in gespeicherte Prozeduren verschieben. Daher frage ich hier nach DOs und DON'Ts (Best Practices) für die …
Ich habe über verschiedene UPSERTImplementierungen in PostgreSQL gelesen , aber alle diese Lösungen sind relativ alt oder relativ exotisch ( z. B. mit beschreibbarem CTE ). Und ich bin überhaupt kein psql-Experte, der sofort herausfindet, ob diese Lösungen alt sind, weil sie gut empfohlen werden oder (na ja, fast alle …
Bei dieser Frage geht es nicht um Bytea vs. Oid vs. Blobs vs. große Objekte usw. Ich habe eine Tabelle, die ein Primärschlüsselfeld integerund ein byteaFeld enthält. Ich möchte Daten in das byteaFeld eingeben . Dies kann vermutlich in einer der PL/Sprachen geschehen , und ich werde dies möglicherweise in …
In einem Kommentar zu dieser Frage wird erwähnt, dass es in PostgreSQL einen kleinen Unterschied zwischen "Stored Procedrues" und "Stored Funtions" gibt. Der Kommentar verweist auf einen Wikipedia-Artikel, aber einige davon scheinen nicht zuzutreffen (z. B. dass sie in einer SELECTAnweisung verwendet werden können). Die Syntax selbst scheint ein bisschen …
Sind in Postgres vorbereitete Abfragen und benutzerdefinierte Funktionen gleichbedeutend mit einem Mechanismus zum Schutz vor SQL-Injection ? Gibt es besondere Vorteile bei einem Ansatz gegenüber dem anderen?
Ich muss 2 Variablen Werte zuweisen, wie unten in der Postgres-Funktion. a := select col1 from tbl where ... b := select col2 from tbl where ... Wie kann ich 2 Variablen in einem Zeilenbefehl 2 Werte zuweisen? Mögen a,b := select col1,col2 from tbl where ...
Ich habe ein System, in dem ich das Design einiger Tabellen (repliziert über Slony-I) nicht steuern kann, und daher habe ich eine Reihe von sogenannten Schattentabellen, in denen ich einige Informationen aus den replizierten Tabellen extrahiere , und speichern Sie es in der verarbeiteten Form, die ich benötige, während Sie …
Kann jemand bitte die Unterschiede zusammenfassen zwischen: http://www.postgresql.org/docs/9.1/static/xfunc-sql.html und http://www.postgresql.org/docs/9.1/static/plpgsql.html ? Hauptpunkte: konzeptionelle Unterschiede gegeben eine Problemfamilie, Bequemlichkeit der Verwendung politische Probleme
Diese Frage wurde von Stack Overflow migriert, da sie in Stack Exchange für Datenbankadministratoren beantwortet werden kann. Vor 7 Jahren migriert . Es ist möglich , wenn die Verwendung pgadminoder plsqlein Halten eines Abfrageplan für eine SQL - Anweisung in einem ausgeführt zu bekommen u ser d efined f Salbung …
Ich verwende eine PL / pgSQL-Funktion in PostgreSQL 9.3 mit mehreren komplexen Abfragen: create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END LOOP; ... INSERT INTO ... FROM a LEFT …
Ich habe eine kleine Tabelle (~ 10 Zeilen) restrictionsin meiner PostgreSQL-Datenbank, in der täglich Werte gelöscht und eingefügt werden. Ich hätte gerne eine Tabelle restrictions_deleted, in der jede Zeile, aus der gelöscht restrictionswird, automatisch gespeichert wird. Da restrictionses eine Seriennummer gibt, gibt es keine Duplikate. Wie schreibe ich einen solchen …
Angesichts dieses Setups in aktuellem Postgres 9.4 ( aus dieser verwandten Frage ): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); Es gibt auch eine SQL-Geige aus der …
Ich experimentiere gerade ein bisschen mit PL / pgSQL und möchte wissen, ob es eine elegantere Möglichkeit gibt, so etwas zu tun: select c.data into data from doc c where c.doc_id = id and c.group_cur > group_cur order by c.id desc limit 1; EXCEPTION WHEN NO_DATA_FOUND THEN select c.data into …
Wenn PostgreSQL eine Ausnahme auslöst, gibt es eine Zeile "CONTEXT" wie: ERROR: INSERT has more target COLUMNS than expressions LINE 3: ... ^ QUERY: INSERT INTO ... CONTEXT: PL/pgSQL FUNCTION "XXXXX" line 4 at SQL statement Aber wenn ich eine Ausnahme mache, ist diese Zeile nicht vorhanden. Ich habe nicht …
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.