PL / pgSQL est le langage procédural par défaut du système de base de données PostgreSQL. Les questions à propos de PL / pgSQL devraient également être étiquetées "PostgreSQL".
Lorsque PostgreSQL lève une exception, il y a une ligne "CONTEXT" comme: ERROR: INSERT has more target COLUMNS than expressions LINE 3: ... ^ QUERY: INSERT INTO ... CONTEXT: PL/pgSQL FUNCTION "XXXXX" line 4 at SQL statement Mais quand je lève une exception, cette ligne n'est pas là. Je n'ai …
Selon les documents: CONCURRENTLY Actualisez la vue matérialisée sans verrouiller les sélections simultanées sur la vue matérialisée. (...) ... AUTRES CONTENUS ... Même avec cette option, un seul REFRESH à la fois peut s'exécuter sur une seule vue matérialisée . J'eu une fonction qui a vérifié la dernière fois de …
J'essaie de trouver des informations sur les fonctions définies par l'utilisateur de PostgreSQL dans les performances des langages procéduraux pour les tâches en temps réel. Comment se comparent-ils aux fonctions intégrées? Y a-t-il une différence (dans les frais généraux) avec la façon dont Postgres appelle / gère les fonctions plpython …
Dans Postgres, nous obtenons la "trace de pile" des exceptions en utilisant ce code: EXCEPTION WHEN others THEN GET STACKED DIAGNOSTICS v_error_stack = PG_EXCEPTION_CONTEXT; Cela fonctionne bien pour les exceptions "naturelles", mais si nous levons une exception en utilisant RAISE EXCEPTION 'This is an error!'; ... alors il n'y a …
J'utilise Postgresql 9.1, avec Ubuntu 12.04. Inspiré par la réponse de Craig à ma question Enchaînement de type setof ou un enregistrement setof je pensais aller bien à l' utilisation return query, setof recordet un générateur de série dans cette fonction plpgsql: create or replace function compute_all_pair_by_craig(id_obj bigint) returns setof …
J'ai un démon de jeu non-forking écrit en Perl , qui utilise des requêtes acync pour écrire les statistiques des joueurs dans une base de données PostgreSQL 9.3. Mais lorsque j'ai besoin de lire quelque chose dans la base de données (comme si un joueur est banni ou si le …
Vous cherchez à calculer l'unité de mesure la plus appropriée pour une liste de substances où les substances sont données dans des volumes unitaires différents (mais compatibles). Tableau de conversion des unités La table de conversion des unités stocke différentes unités et comment ces unités sont liées: id unit coefficient …
J'écris un script de configuration pour une application qui est un addon pour une autre application, donc je veux vérifier si les tables de l'autre application existent. Sinon, je veux donner à l'utilisateur une erreur utile. Cependant, je ne sais pas quel schéma contiendra les tables. DO LANGUAGE plpgsql $$ …
Ayez une table comme celle-ci: CREATE TABLE aggregated_master ( "user" BIGINT, type TEXT, date TIMESTAMP, operations BIGINT, amount NUMERIC, PRIMARY KEY ( "user", type, date ) ); Cette table est le maître dont héritent de nombreuses partitions. Les partitions sont effectuées par MOIS dans le champ DATE. Par exemple: la …
J'importe un grand nombre de fichiers volumineux dans un certain nombre de tables à partitionner à l'aide de boucles dans un bloc de code plpgsql anonyme $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 L'ensemble de …
J'écris un déclencheur de validation. Le déclencheur doit valider que la somme d'un tableau est égale à un autre champ. Étant donné que j'ai de nombreuses instances de cette validation, je veux écrire une seule procédure et créer plusieurs déclencheurs, chacun avec un ensemble différent de champs à vérifier. Par …
Je me demande s'il existe un moyen de déclarer une variable de type table en PL / pgSQL pour contenir les résultats de la requête? Par exemple, comment puis-je exprimer quelque chose comme: q1 = select * from foo; q2 = select * from bar; for t1 in q1: for …
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.