Vous n'êtes pas identifié(e).
Pages : 1
Bonjour Daniel,
Merci pour votre réponse.
Il s'agit bien du pgdata (var/lib/postgresql).
Quand vous parlez d'un backup à froid, il s'agit simplement du remplacement du répertoire main par ma sauvegarde ? Jusqu'ici cette méthode n'a pas fonctionné (du moins mon conteneur postgresql ne répond pas). Quel pourrait être le point de blocage. Y a t-il des fichiers temporaires que je pourrais supprimer avant de restaurer ?
Le serveur est identique car regénéré par docker selon le même fichier de configuration.
Merci encore,
Wilfried
Bonjour à tou-te-s,
J'ai un problème de restauration de données ...
J'ai dockerisé un postgresql/postgis sur un raspberry pi pour faire des relevés naturalistes. Par précaution, j'ai déporté les fichiers de postgres dans un répertoire hors conteneur de ma carte SD.
Suite à un freeze de mon système, j'ai sauvegardé ces fichiers en espérant les utiliser dans une nouvelle instance de postgresql. Jusqu'ici, ça ne fonctionne pas :-( Je fais une nouvelle installation de postgresql et je remplace le répertoire /etc/postgresql/9.5/main par ma sauvegarde mais ça fait planter mon conteneur postgres.
Y a t-il une procédure à suivre pour faire une telle restauration ?
Merci BEAUCOUP d'avance pour votre aide !
Wilfried
Bonjour,
J'ai le même souci avec PhpPgadmin 4.2.3 connecté sur un serveur ou coexistent 2 versions de postgresql : 8.3.23 et 9.5.1 (je précise que la version 9.5 correspond à un upgrade de la version 8.3)
Bizarrement, impossible de rajouter des contraintes sur mes tables de la version 9.5 alors que cela fonctionne sur la version 8.3 ...
Une solution possible ?
Merci bien !
Wilfried
Ah !
C'est exactement la réponse que j'espérais ;-)
Merci beaucoup Éric !
wilfried
Bonjour,
Ok, merci beaucoup pour vos réponses.
Je me contenterai donc d'effectuer les exports en lignes de commande.
Bien cordialement.
Si phppgadmin sait manipuler et afficher la base de données à distance, pourquoi ne saurait-il pas l'exporter ? Et quel est l'intérêt pour moi de séparer mon serveur de base de données si je suis obligé d'installer aussi postgresql sur mon serveur web ?
Car si j'ai bien compris je dois installer postgresql sur mes deux serveurs ? Car j'avais tenté une copie de pg_dump sur le serveur web, sans succès..
Merci pour votre aide,
Wilfried
Bonjour Guillaume,
Il l'est sur le serveur postgresql, mais pas sur le serveur web.
Bonjour,
J'ai un problème lorsque j'utilise la fonction exporter de phppgadmin :
Erreur d'export : n'a pu exécuter pg_dump (chemin indiqué dans votre conf/config.inc.php : /usr/bin/pg_dump). Merci de corriger le chemin dans votre configuration et de vous reconnecter.
Tous mes fichiers de config sont pourtant bons, pg_dump est bien présent dans /usr/bin/ ...
phppgadmin (5.1) est installé sur un serveur web distinct de mon serveur postgresql (9.4.5) et tous les deux tournent sous debian 8.
Quelqu'un aurait-il déjà rencontré cette erreur ?
Merci d'avance pour votre aide,
Wilfried
Rebonjour,
Finalement, voici la solution :
Il suffit d'installer les paquets postgresql-cilent-common et postresql-client-8.3 sur le serveur apache (celui qui héberge PPA).
J'essaierai quand même d'utiliser la dernière version de PPA.
Merci bien,
wilfried
Bonjour à tou(te)s,
Je rencontre un problème avec la fonction export ...
Lors de l'export d'une base, j'obtiens des fichiers vides. Si je choisis l'option "voir" lors de l'export d'une table, j'obtiens l'erreur suivante :
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/usr/share/phppgadmin/dbexport.php</b> on line <b>75</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/usr/share/phppgadmin/dbexport.php</b> on line <b>78</b><br />
J'utilise phppgadmin 4.2.2 sur un serveur apache (debian Lenny), PostgreSQL 8.3.14 étant installé sur un autre serveur (debian Lenny également). Sur ce dernier, j'ai bien vérifié la présence de /usr/bin/pg_dump
La même config sur deux autres serveurs marche parfaitement ... Je ne comprends pas.
Merci beaucoup pour votre aide,
Wilfried
Bonjour Marc,
Merci beaucoup, c'est exactement ça. Je ne savais juste pas comment réinitialiser la séquence ... Maintenant, si ;-)
Merci encore,
Will
Bonjour,
Voici les détails :
CREATE TABLE documents
(
iddocument serial NOT NULL,
titre text NOT NULL,
sstitre text,
auteur character varying(100) NOT NULL,
CONSTRAINT documents_pkey PRIMARY KEY (iddocument),
CONSTRAINT documents_iddocument_key UNIQUE (iddocument)
)
WITH (
OIDS=FALSE
);
ALTER TABLE documents OWNER TO will;
La clé primaire est donc iddocument, de type serial.
Dans mon INSERT, je ne mentionne pas cette colonne, de sorte que la valeur retenue soit celle par défaut, à savoir nextval('documents_iddocument_seq'::regclass)
Merci beaucoup.
Will
Bonjour à tous,
J'ai récemment importé un certain nombre d'enregistrements dans ma table avec un COPY d'un fichier CSV
Dans cette table, chaque enregistrement a un identifiant unique de type SERIAL.
Depuis mon import, lorsque j'essaie d'insérer un nouvel enregistrement (via une interface PHP), j'ai le message d'erreur suivant :
Query failed: ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « documents_pkey »
J'ai tenté un FULL VACUUM sur ma table, ainsi qu'un REINDEX, mais rien n'y fait ...
Merci d'avance pour votre aide.
Will
Bonjour,
Merci pour ces détails.
@FNo : A priori il n'y aura pas de projet sans responsable ... En revanche, je veux être sûr de renvoyer la liste de tous les priojets à l'utilisateur qui ne renseigne pas le champ "responsable" dans le formulaire de recherche. Ceci m'oblige à trouver une condition qui soit vraie pour un champ de type integer. Apparemment la condition IS NOT NULL semble convenir mais je pensais trouver un truc plus simple ...
@gleu : Je ne pense pas faire d'amalgame entre php et postgres, mais j'avoue que je ne pensais pas devoir "bricoler en php" pour contourner ce "problèm"e en SQL.
Merci encore
En utilisant la valeur 0, je n'obtiens aucun résultat ... puisqu'aucun de mes projets n'a de valeur zéro pour le champ considéré ...
Ok, je ne pensais pas que la valeur nulle était considérée comme une chaine (comme quoi, il faut vraiment que je révise ;-)
Merci pour la solution plus élégante en php ...
Quant à la valeur 0, elle n'existe effectivement pas dans ma table, je vais donc tenter de voir ce que ça donne avec ça !
Encore merci beaucoup pour votre aide.
Bonjour,
Merci beaucoup pour cette réponse, mais ça n'est pas exactement ce que j'attendais.
L'intitulé de mon post prête à confusion ...
En fait je voudrais récupérer toutes les lignes quelle que soit la valeur de la ou des colonnes (qui sont de type integer). Pour l'instant, la requê(te
SELECT * FROM matable WHERE mon_champ_integer = ' '
me renvoie l'erreur indiquée précédemment.
J'ai trouvé une solution un peu tirée par les cheveux en php :
if( $mon_champ == ''){
$Rmon_champ = 'mon_champ IS NOT NULL';}
else { $Rmon_champ = 'mon_champ='.$mon_champ.'';}
puis je fais une requête du type
SELECT * FROM matable WHERE $Rmon_champ
En effet, ma base est interfacée en php et j'ai fait un maximum de listes déroulantes pour mes différents champs de recherche.
Je ne sais pas si c'est plus clair, j'avoue que ma question n'est pas évidente à expliciter ...
@FNo : c'est un peu ça, oui, sauf que la valeur zéro est déjà une valeur particulière de mon champ. En fait, pour expliciter mon problème, voici un exemple :
Dans ma table "projet", j'ai créé un champ "responsable" de type integer qui fait référence au champ "id_responsable" de la table "responsable" (dans laquelle j'ai un champ "nom_responsable" de type varchar). J'effectue mes recherches sur le champ "responsable" de ma table projet, j'ai donc besoin dans certains cas de trouver tous les projets quel que soit le nom du responsable, ce que je dois traduire en SQL par "quelle que soit la valeur de l'integer 'responsable' "
J'ai bien peur de devoir reprendre mes cours sur les bases de données en commençant par les bases :-(
Merci encore.
will
Bonjour,
Désolé pour cette question exceptionnellement basique ... mais là je bloque.
En fait j'essaie de mettre en place un formulaire de recherche portant sur différents projets stockés dans une base. Parmi les champs recherchés, il y en a de type "Integer". Comment dans ce cas faire une recherche portant sur "tous les projets" ?
Pour l'instant, j'ai inséré dans mon select (en php) une option dont la valeur est nulle, mais j'ai l'erreur suivante :
Warning: pg_query() [function.pg-query]: Query failed: ERREUR: syntaxe en entrée invalide pour l'entier : « »
En résumé, j'aimerais faire un select qui me renvoie toutes les lignes d'une table quelle que soit la valeur d'un champ de type Integer. Mais quelle syntaxe utiliser ? SELECT * WHERE mon_champ_integer ='ANY' ? ='%' ? J'ai l'impression qu'il n'accepte pas que ce champ integer soit nul.
Désolé si ma question n'est pas claire ou trop évidente... et merci beaucoup d'avance.
will
Pages : 1