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 : Général » Doublons et cles etrangeres » 03/03/2013 19:35:02

RBG

Pas touché au trigger. J'utilise les options par défaut de pgAdminIII et ne sais encore rien de ceux-ci

J'ai dédoublonné ma table initiale en en créant une nouvelle avec un select distinct on et l'ancienne cle. Puis en faisant une jointure sur celle-ci et la table initiale sur les colonnes qui argumentaient le select distinct on, j'ai créé une nouvelle table avec l'ancienne et la nouvelle clé. Même manip avec les tables référenceantes en faisant une jointure sur les anciennes cles pour que les nouvelles tables aient la nouvelle cle. Ca a marché, mais je n'avais pas trop de tables à reprendre...

#2 Général » Doublons et cles etrangeres » 23/02/2013 23:56:43

RBG
Réponses : 2

Bonjour
En montant une BDD par fusion de plusieurs autres, je me retrouve avec une table doublonnée, référencée dans 4 autres tables. Une ligne doublonnée est référencée par des clés différentes d'une table référençante à l'autre, parfois une ligne de la table référencée est répétée plus de 2, jusqu'à 9 fois. Je veux donc non seulement la dédoublonner, mais surtout m'assurer que les clés étrangères le sont également correctement. ajouter ON UPDATE CASCADE dans la définition de la contrainte de clé étrangère n'a pas marché dans mes essais. (un UPDATE sur la clé primaire dans la tablé référencée ne s'est pas propagé dans la table référençante! Je me retrouvais avec une clé étrangère qui ne renvoyait à aucune ligne de la table référencé!!??)

Comment faire çà proprement? C'est à dire regrouper toutes les lignes dupliquées de ma table référencée dans une seule, MAIS SURTOUT, que les lignes des tables référençantes liées à des lignes supprimées seront mises à jour (=ne deviendront pas orphelines).
merci de votre aide!

#3 Re : PHP » Installer bibliothèque postgresql de PHP5 sur mac » 03/09/2012 21:40:36

RBG

Un package, en effet, j'ai commis l'erreur de ne pas regarder lequel. Entre temps, j'ai osé installer apache et PHP avec stackbuilder. Ca a l'air de marcher...
Merci pour votre aide

#4 Re : PHP » Installer bibliothèque postgresql de PHP5 sur mac » 02/09/2012 20:43:57

RBG

Merci pour votre réponse rapide. j'avais trouvé la page que vous proposez et essayé MAPP. Echec d'installation, le message d'erreur parle d'un problème de mémoire allouée à postgres insuffisante. Il explique la manip pour rattraper, mais elle m'a l'air encore plus compliquée que mettre à jour php.ini, dernière étape qui semble me bloquer. je n'ai, en faisant "locate pgsql" dans le terminal bash, que notion d'un plpgsql.so dans un sous-fichier de celui qui contient postgres. Rien à voir, sauf erreur de ma part?
le seul fichier contenant php.ini que j'aie trouvé (tjrs la même manip, locate dans le Terminal) est dans /private/etc/php.ini.default, et je suis incapable de le trouver plus précisément, encore moins de l'ouvrir ( je suis crasse, oui, c'est sûrement une ou deux commandes, mais je n'ai pas été fichu de trouver...).

Je crois pourtant au hasard de mes errements dans les fichiers systèmes avoir vu une bibliothèque s'appelant pgsql.so... Une autre solution que je vois est d'utiliser Stack Builder, qui propose une installation d'Apache et PHP, mais j'ai peur que les manips d'installation l'un par-dessus l'autre ou une mauvaise désinstallation avant me plante...

#5 PHP » Installer bibliothèque postgresql de PHP5 sur mac » 02/09/2012 16:45:02

RBG
Réponses : 4

Bonjour à tous,
Et d'abord désolé de poster sur un sujet déjà pas mal traité, mais je suis un bleu et je rame!!

J'utilise un Mac book air, OS 10.6.8, processeur Intel. J'ai installé postgres 9.1.4 avec PgAdminIII. çà marche, j'ai pu créer, remplir, modifier des bases de données dedans. Activé Apache2 natif de mon OS 10.6, installé PHP 5.3.8, créé la page test qui est recommandée avec le package, essayé d'autres pages php, çà marche, au moins en local. Et puis, essayant de passer des données vers postgres depuis cette interface web en modifiant juste les paramètres de connection sur l'exemple de script de php.net pour postgres:

Fatal error: Call to undefined function pg_connect() in /Library/WebServer/Documents/Rentre.php on line 5.

En effet, sur la page phpinfo() ( soit localhost/test.php), rien sur postgres, pas même en PDO.
(tout çà en une quinzaine de jours de boulot, je suis un bleu, je vous dis...)

J'ai cherché et trouvé divers moyens d'activer les bibliothèques postgres de php en ligne, et j'atteins mes limites. On me sort des gros mots genre "Linux", "socket" "recompiler PHP", aller dans le terminal, trouver php.ini, y inscrire çà, installer fink, taper des lignes sudo..., etc (je n'arrive même pas à l'ouvrir, ce fichier php.ini, je ne me vois pas y touchant tout seul...)
n'y aurait-il pas une bonne âme pour m'aider à activer ces fou... bibliothèques? Voire, bonheur suprême, pour m'aider paramétrer une connection sur une autre ordi de chez moi (un PC) (oui, j'aurais sûrement dû faire plus simple, mais non, je ne pouvais pas faire autrement... s'il y a des curieux, je vous raconterai, mais c'est une autre histoire)
Merci de votre aide!

Pied de page des forums

Propulsé par FluxBB