Vous n'êtes pas identifié(e).

#26 Re : PL/pgSQL » syntaxe trigger pour remplir une clé secondaire » 27/07/2018 13:01:54

Bonjour,

Lors d'une insertion NEW.id_A est nul.

Il faut remplacer

    IF (TG_OP = 'INSERT') THEN SELECT nextval('seq_id_A') INTO id_A;
       
        INSERT INTO TableA (id_A, num_A)
               VALUES (DEFAULT, NEW.num_A);

par

    IF (TG_OP = 'INSERT') THEN SELECT nextval('seq_id_A') INTO NEW.id_A;
       
        INSERT INTO TableA (id_A, num_A)
               VALUES (NEW.id_A, NEW.num_A);

sinon NEW.id_A reste nul et l'utilisation de DEFAULT génère une nouvelle valeur de la séquence qui est utilisée dans tableA


mais la valeur saisie sera ignorée si vous indiquez la valeur de "id_A" dans la requête INSERT (ce qui ne devrait jamais être le cas puisque vous utilisez une séquence)

j'utiliserais plutôt deux triggers distincts :

-le premier déclenché par les modifications sur la vue qui met à jour tableA
- le second déclenché par les modifications sur tableA qui met à jour tableB

#27 Re : PL/pgSQL » erreur sur condition if potsgres 10 » 07/07/2018 09:03:45

Bonjour,

OFFSET est un mot réservé, vous pouvez renommer la variable en v_offset (par exemple).

#28 Re : Général » Gestion nombre de connexion concurrente par session » 13/06/2018 15:24:55

Bonjour,

Soit user1 et user2 sont des rôles Postgres, ou bien à chacun correspond un rôle Postgres spécifique et vous appliquez la solution donnée par arthurr.
Soit ce sont des utilisateurs "virtuels" gérés par votre application et c'est à elle de gérer également le nombre  limite de connexions pourchaque utilisateur "virtuel"

#29 Re : Général » données supplémentaires après la dernière colonne att » 04/06/2018 10:49:48

Bonjour,

Pouvez-vous fournir au moins un extrait du csv. Comme l'a déjà dit Guillaume, difficile de raisonner dans le vide.

#30 Re : Général » données supplémentaires après la dernière colonne att » 01/06/2018 17:29:10

Oui.
Pour supprimer le dernier ';' :
Sous linux ou unix avec "vi":
:1,$s/\;$//

Sous Windows (avec notepad++ou tout éditeur supportant les expressions rationnelles) :
Recherche > Remplacer...
Recherche: \;$
Remplacer par : <vide>
Cocher la case "Expression regulière" puis cliquer sur  "Remplacer tout"

#32 Re : Général » Mise en forme » 01/06/2018 11:21:45

Bonjour,
En complément, il y a quelques mois Daniel Vérité a publié sur son blog à propos d'un pager pour psql qui semblait prometteur

#33 Re : PgAdmin3 » Tâches plannifiées : Exporter importer ? » 30/05/2018 17:27:15

Bonjour,
Personnellement, je trouve plus simple d'utiliser le système de tâches planifiées de l'OS (crontab sous linux et autre unixlike, Planificateur de tâches sous Windows)

#35 Re : pgAdmin4 » saisie d'attributs avec pré contrôle sur les valeurs » 16/04/2018 16:51:42

Quel est le message d'erreur ?
Il me semble qu'il y a une erreur dans le nom de la table 0 au lieu de O

#36 Re : pgAdmin4 » saisie d'attributs avec pré contrôle sur les valeurs » 16/04/2018 13:04:08

Bonjour,
Si vous utilisez "FABR_PRO" comme nom de table, il faut utiliser la même valeur dans l'expression définissant la contrainte :

ALTER TABLE public."FABR_PRO"
    ADD CONSTRAINT ck_prix_fabrication CHECK ("FABR_PRO".prix_fabrication < 1000)

NB : il est vivement recommandé d'utiliser  des noms d'objets tout en  minuscules

#37 Re : pgAdmin4 » Importation de données shape en lots sous PostgreSQL-postGIS » 29/03/2018 17:46:05

Bonjour,

Vous pouvez utilisez shp2pgsql dans un script (batch ou bash) qui est fourni avec PostGIS.
Merci de na pas "cross-poster" ou au moins de l'indiquer...

#38 Re : PgAdmin3 » Champ Liste deroulante » 22/03/2018 12:46:06

Vous confondez le moteur de bases de données (serveur) et l'interface qui permet d'y accéder (client).


Effectivement le type enum permet définir une liste finie de valeurs qui est contrôlée/exploitée en interne par le moteur de base de données.
Vous voulez faire la même chose côté utilisateur.


Vos formulaires sont définis dans QGIS qui fournit l'interface de saisie/consultation/visualisation des données stockées dans une base de données PostgeSQL/PostGIS


Vous pouvez récupérer la liste de valeurs à partir des colonnes d'une couche (qui peut être sans géométrie) mais de toute façon la liste n'est pas chargée dynamiquement et elle est stockée ainsi que le formulaire dans le fichier <projet>.qgs que vous pouvez transmettre facilement.


Ce forum étant dédié à PgAdmin3, si vous avez d'autres questions, je vous invite à poursuivre sur le forum dédié à QGIS sur georezo.net ou ForumSIG

#39 Re : PgAdmin3 » Champ Liste deroulante » 22/03/2018 10:52:37

Bonjour,

C'est effectivement au niveau de QGIS qu'il faut définir votre liste déroulante.
Dans QGIS3, Propriétés de la couche > Formulaire d'attributs
Choisir le Type d'outil "Liste de valeurs" pour le champ concerné et saisir les valeurs requises ou importer un .csv

#40 Re : Général » COPY Command with comma in string values - Postgresql 10 » 02/03/2018 02:20:51

Bonsoir,

Ce forum est francophone, c'est pourquoi je vous réponds en français.
Il faut indiquer à Postgres que la partie entre guillemets simples représente  une seule valeur de type texte.

CREATE TABLE t1 (id INTEGER, testvalues TEXT);
COPY t1 FROM '/opt/Data/TestInfo.dat' WITH CSV DELIMITER AS ',' QUOTE AS '''' NULL AS '';
SELECT * FROM t1;

NB: il est recommandé d'utiliser des noms d'objets (tables, colonnes, etc..) en minuscules (Postgres les convertira de toute façon en minuscules à moins de les mettre entre guillemets doubles)

#41 Re : Général » database version 8.4 et celle version 9.1 » 05/02/2018 23:08:52

Bonsoir,

Il faut regarder dans le fichier postgresql.conf de chaque instance, quel port est utilisé.
C'est le port utilisé pour la connexion (5432 par défaut) qui détermine l'instance à laquelle on se connecte.

ps ax | grep postgresql

permet de lister les instances en cours d'exécution et l'emplacement du postgresql.conf que chacune utilise

#42 Re : Général » max (date) » 05/01/2018 19:34:54

Bonsoir,

SELECT * FROM carmanagement AS t1 WHERE "date" = (SELECT MAX("date") FROM carmanagement AS t2 WHERE t2.u = t1.u GROUP BY u )

#43 Re : PL/pgSQL » Recuperation nom d'une table à partir de TG_TABLE_NAME » 29/11/2017 14:49:19

Bonjour,
Difficile de vous aider sans plus de précisions.
Vous devriez poster le code de votre fonction.

#44 Re : Général » database backup » 08/10/2017 15:28:10

Bonjour,

Le fichier "file.sql" sera créé dans le répertoire actif au lancement de la commande.
Vous pouvez utiliser la commande pwd pour savoir dans quel répertoire vous vous trouvez avant de lancer la commande (ou juste après)

#45 Re : Optimisation » Définir la priorité du processus postgres.exe » 21/07/2017 13:19:02

EXPLAIN devrait vous aider dans un premier temps mais il me semble que l'ERP devrait lui-même avoir configuré les bons index.

#46 Re : Optimisation » Définir la priorité du processus postgres.exe » 21/07/2017 12:38:57

Bonjour,
Je ne suis pas expert Windows Server mais :
- ces processus sont lancés par le service (pg_ctl.exe) et je connais pas de moyen de changer la priorité autrement que via le gestionnaire ds tâches.
- à ma connaissance, Microsoft déconseille de définir la priorité à "Haute" ou "temps réel" pour plus d'un processus (risque de blocage du à l'attente de la fin d'un processus moins prioritaire); il faut s'assurer que toutes les ressources (processeur(s)/coeur(s) ne sont pas monopolisées par un processus prioritaire qui attendrait la fin d'un processus moins prioritaire.
- aussi je laisserai Windows gérer la question.

#47 Re : PgAdmin3 » Réasultat de requête trop long (...) » 18/07/2017 09:01:23

Bonjour,
La réponse concernait PG Admin III. ¨L'option a peut-être disparu dans PGAdmin IV.

#48 Re : Sécurité » Drop des fichiers d'une db » 10/07/2017 18:52:44

Bonsoir,
Le nom du répertoire contenant les données de la BD est égal à l'OID de la BD.
(Ex les données de la BD d'OID 18331 sont dans le répertoire ..../data/base/18331)

#49 Re : Migration » ACCESS vers SQL » 29/05/2017 13:49:36

Globalement (jamais effectué) :
- installer PostgreSQL sur une machine accessible depuis internet
- installer l'extension postgres_fdw
- configurer une source ODBC sur la base Access
- initier la connexion avec le fdw odbc

Sinon, une piste peut être la création d'un ou plusieurs fichiers sql ou csv, automatisée depuis access, transfert de ce(s) fichier(s) sur le serveur Postgres et mise à jour de la bd Postgres par exécution programmée du ou des scripts SQL adéquat(s)

Une autre voie (surement la plus simple pour un débutant) serait une macro sous Access qui se connecte à PostgreSQL via ODBC et réalise les mises à jour désirées.

Dans tous les cas, vous aurez besoin d'un minimum de compétences sur PostgreSQL ainsi qu'en SQL et de faire un minimum de développement.

#50 Re : Migration » ACCESS vers SQL » 26/05/2017 08:54:26

Bonjour,
Je passerais par un script, lancé par une tâche planifiée qui se connecte à la bdd Access via un "foreign data wrapper" ODBC et récupère les données voulues.

Pied de page des forums

Propulsé par FluxBB