PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 Re : phpPgAdmin » php : problème d'insertion dans la base » 23/05/2020 19:51:09

Petit détail concernant pg_query : c'est une faille de sécurité ambulante côté injection SQL.  Comme précisé dans la documentation (https://www.php.net/manual/en/function.pg-query.php ):

WARNING:  String interpolation of user-supplied data is extremely dangerous and is likely to lead to SQL injection vulnerabilities. In most cases pg_query_params() should be preferred, passing user-supplied values as parameters rather than substituting them into the query string.

Any user-supplied data substituted directly into a query string should be properly escaped.

#2 Re : PL/pgSQL » Requête pour créer une table de variation » 15/05/2020 11:07:56

Voulez-vous modifier la table afin d'avoir l'information de version, ou la calculer dynamiquement à l'aide d'une requête quand vous avez besoin de l'information ?

#3 Re : pgAdmin4 » connexion par active directory » 14/05/2020 20:52:55

Oui, mais cela nécessite une configuration côté serveur.  Regardez du côté de https://www.postgresql.org/docs/current … -auth.html

#4 Re : Général » Eviter un ROLLBACK lors du chargement des données rejetées via COPY » 11/05/2020 21:50:54

Ou d'utiliser un autre ETL?  Il me semble que kettle gère ce cas par exemple, et l'outil est écrit en java il devrait donc tourner facilement sur windows.

#5 Re : Général » pgBackRest » 11/05/2020 10:58:57

Pour information j'ai déplacé la discussion dans "général", ce qui me semble plus approprié.

#6 Re : pgAdmin4 » Fonction to_char ne convertit pas integer en caractères » 08/05/2020 09:07:44

Bonjour,


Il vous faut utiliser au moins autant de '9' que de nombre de caractère dans le champ.  Puisqu'il s'agit apparemment d'un code postal, c'est donc 5 mais vous pourriez en mettre pus.  Comme indiqué dans la documentation en utilisant '9' plutôt que '0' les chiffres non significatifs seront tronqués de toutes façons :

# select to_char(75000, '99999999999999999');
      to_char       
--------------------
              75000
(1 row)

#8 Re : pgAdmin4 » Modifier l'ordre des colonnes » 06/05/2020 15:40:38

Cela va quand même recréer la table, donc avec verrou exclusif long et énormément de WAL générés.

#9 Re : Installation » Mon serveur n'est pas détecté » 03/05/2020 06:48:52

Bonjour,

Comme l'indique le message, postgres n'est pas joignable sur le port et adresse indiquée.  Soit il est démarré mais écoute sur un port (à priori par votre cas), soit il n'est pas démarré (à priori votre cas), et dans ce cas il faut le démarrer.

#10 Re : Migration » Migration d'une table dans une bdd à une autre » 01/05/2020 18:18:17

Bonjour,


C'est normal, vous ne pouvez pas changer le schéma à la volée en utilisant pg_dump et pg_restore uniquement.  Si vous regardez la documentation à https://www.postgresql.org/docs/current … store.html vous verrez que l'option -n spécifie le filtre dans le fichier de sauvegarde, pas le schéma de destination.  Vous pouvez soit restaurer dans le même schéma puis effectuer un ALTER TABLE, soit passer par des commandes type sed pour changer le schéma entre un pg_restore vers la sortie standard et un psql.

#11 Re : Général » Extraction du code d'un objet de type SQL » 30/04/2020 18:57:47

pg_trigger_def permet comme son nom l'indique d'obtenir la définition du trigger, pas de la fonction trigger.  Vous pouvez utiliser pg_get_functiondef(tgfoid) sur la table pg_trigger.

#12 Re : Général » Extraction du code d'un objet de type SQL » 30/04/2020 18:18:59

C'est censé fonctionner normalement.  Pouvez-vous fournir plus de détail,  notamment les lignes associées dans pg_trigger et pg_proc ?

#13 Re : Général » Création d'un tableau analyse croisée avec des valeurs de type "TEXT" » 29/04/2020 15:41:47

C'est justement le principe du GROUP BY.  Si vous pouvez avoir 3 propriétaires et que dans ce cas vous ne voulez qu'une ligne c'est que par définition il ne faut pas regrouper par propriétaire mais par autre chose, et là comme il s'agit de vos données vous seul pouvez savoir quel critère de regroupement choisir à priori.

#15 Re : Installation » "L'initialisation du cluster de bases de données à échoué" » 29/04/2020 15:00:28

Lancez-vous la commande depuis le répertoire contenant initdb.exe ?

#16 Re : pgAdmin4 » Remplissage automatique de la surface » 28/04/2020 07:39:05

Vous devez utiliser soit une clause GENERATED ALWAYS AS (https://www.postgresql.org/docs/current … lumns.html), soit un trigger si vous êtes en version 11 ou moins.

#17 Re : Général » Question à propos de template 1 » 27/04/2020 12:33:31

Les valeurs de LC_COLLATE et LC_CTYPE seront différentes en fonction de ce qui a été fourni à initdb, que cela soit explicitement ou via les variables d'environnement présentes.

#18 Re : pgAdmin4 » Remplissage automatique de l'année » 26/04/2020 18:54:25

Vous devriez pouvoir utiliser

extract('year' from now())

#19 Re : PL/pgSQL » PG9.6 : Copy Import CSV ERREUR: données manquantes pour la colonne » 25/04/2020 06:06:22

Il n'y a pas d'alternative côté postgres tout simplement car le fichier est question n'est pas un fichier CSV valide.  Vous devriez pouvoir trouver un ETL capable d'ignorer les lignes invalides si c'est le compromis que vous cherche.

#20 Re : PL/pgSQL » Lenteur d’exécution d'un Update simple » 23/04/2020 09:15:11

Bonjour,


Ce n'est pas très surprenant.  En effet, effectuer ces opérations lignes par ligne est peut être plus simple à appréhender mais côté performance cela ne marche pas du tout.  Il vous faut réécrire le traitement non pas en procédure stockée / langage impératif mais avec du SQL, de façon ensembliste.


En gros, un simple "UPDATE ... SET ..." (cf https://www.postgresql.org/docs/current/sql-update.html ).  Vous aurez à priori besoin de CASE (https://www.postgresql.org/docs/current/functions-conditional.html#FUNCTIONS-CASE ) pour la gestion de votre "resultat2".

#21 Re : Installation » "L'initialisation du cluster de bases de données à échoué" » 21/04/2020 13:48:48

J'imagine que le problème vient de là.  Vous pouvez essayer la solution préconisée ici : https://dba.stackexchange.com/questions … on-problem, ou chercher auprès des gens qui connaissent windows comment y remédier.

#22 Re : Installation » "L'initialisation du cluster de bases de données à échoué" » 21/04/2020 10:46:25

L'erreur est assez étrange.  Que renvoient les commandes

C:\Program Files\PostgreSQL\12\bin/initdb.exe -V
C:\Program Files\PostgreSQL\12\bin/postgres.exe -V

#24 Re : pgAdmin4 » Impossible d'ajouter des lignes dans une table via View/Edit data » 16/04/2020 16:52:37

À priori le message d'erreur est généré par postgres, pas par pgAdmin.  Peut-être un soucis de synchronisation de la grille essayez d'actualiser et/ou de redémarrer pgAdmin sait-on jamais.  Vous pouvez sinon vérifier avec l'éditeur de requête que la ligne n'est pas présentes dans la table, ou que la grille n'aurait pas mémorisée une précédente tentative de saisie qui se retrouverait automatiquement ajoutée.

#25 Re : Installation » Problème d'installation - EnterpriseDB - Installateur ne s'ouvre pas » 16/04/2020 16:48:24

Malheureusement, n'utilisant pas windows et donc pas cet installeur je n'ai pas d'autres idées.  À moins que quelqu'un d'autre ait une idée, vous devriez contacter directement EDB, ils sont normalement assez réactif concernant le support des outils qu'ils fournissent.

Pied de page des forums

Propulsé par FluxBB