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 C et C++ » Problème avec libpqxx » 21/03/2023 16:09:20

mybofy
Réponses : 0

Bonjour

macOS 13.3 (M1 pro) - Xcode 14.3

Mon application en c++ doit se connecter à un server Postgresql.

Avec Macports, libpqxx-7.2.dylib (universal) OK, mais intégré à l'application 7 erreur du format :
     Undefined symbol: pqxx::field::c_str() const &
     aucun code de l'applicaton ne comprend pqxx::field::c_str()
     même chose pour les 6 autres erreurs.

Avec la dernière version de libpqxx obtenue sur github, libpqxx-master (=7.8.0), build complet, mais impossible d'obtenir l'universal de libpqxx-7.8 :
     Xcode trouve aucun pqxx::... dans le code.
     ./configure  --prefix=/opt/local CC="gcc -arch arm64 -arch x86_64" CXXFLAGS="-std=c++20 -O3" --enable-shared --with-postgres-include=/opt/local/include/postgresql13

Je passe sur les essais intermédiaires que je fais depuis plusieurs jours.
NB: mon appli fait plus de 20000 lignes de code, donc pas réaliste de passer à libpq : trop de conversions de types
       dans une autre vie ça marchait...

Merci de l'aide

#2 pgAdmin4 » pgadmin4 interface macOS » 04/02/2019 12:00:50

mybofy
Réponses : 0

Bonjour
macOS mojave - safari

J'ai placé l'icône de pgadmin4 dans le dock.
Pour lancer pgadmin4, je clique une fois sur cette icône. une fenêtre safari s'ouvre contenant pgadmin4. Jusque là OK, à ceci près qu'il n'y a pas le point habituel à côté de l'icône indiquant que l'application est lancée ; un icône apparaît dans la barre des menus.

Je minimise la fenêtre de pgadmin4. OK.

Maintenant, je veux revenir à la fenêtre initiale de pgadmin4.
Comme pour toutes les applications, je clique sur l'icône de pgadmin4 dans le dock; rien !
L'icône de la barre des menus n'offre aucune possibilité.
Seule solution : click droit sur l'icône de safari du dock, et choisir dans le menu popup pgadmin4.

Je trouve très regrettable cette procédure ontre-intuitive, non conforme aux bonnes pratiques de macOS et fort peu commode en phase de développement où l'on a besoin de nombreuses fenêtres que l'on minimise et restitue en permanence.
Décidément, les "web applications en python", qui sont sans doute très commodes pour le programmeur, sont une horreur ergonomique pour l'utilisateur.

Bien à vous.

#3 Site PostgreSQL.fr » Valeur inconnue pour Timestamp » 09/12/2018 16:49:59

mybofy
Réponses : 2

Bonjour

Je crée une colonne de type Timestamp.
Je voudrais lui affecter par défaut une valeur standard corespondant à inconnu.
Ne pas fournir de valeur correpond à null et ce peut être très génant.

Merci

#4 Re : Général » Sauvegarde, wal+pitr, replication, etc. » 28/12/2017 17:43:30

Après essais, la sauvegarde PITR marche. Merci.

Une question.
Les fichiers de $PGDATA sont sur mon disque système.
Pour des raions de place j'ai fait un lien symbolique de pg_xlog vers un fichier d'un disque dédié de la même machine.
Que se passe-t-il si le disque dédié "rate" un ou plusieurs fichiers WAL pour une raison ou une autre (au pire disque planté) ?
Est-ce irrémédiable et faut-il réinitialiser la procédure de sauvergarde PITR :
- conserver ou non les fichiers WAL existants (incomplets) ?
- faire un pg_basebackup
Ou  quoi faire ?

#5 Général » Sauvegarde, wal+pitr, replication, etc. » 24/07/2017 15:55:13

mybofy
Réponses : 3

Bonjour

Sous Postgresql 9.5 - Serveur de production : OpenBSD - Serveur de test : macOS

Je construit un système de gestion de photos multiutilisateur. Chaque utilisateur dispose d'une BdD qu'il gére à son rythme.
J'en suis à la phase où je dois mettre en place un outil de "sauvegarde", ce mot étant pris dans un sens très large.

Objectif (idéal) : toute action en écriture d'un utilisateur sur sa BdD est préservéet.
Contraintes : aucune contrainte de temps pour la récupération sur crash logique ou physique ; disponibilité de l'accès au sytème pas critique.

Cela paraît simple a priori, mais plus j'explore Internet, moins je trouve de solution évidente :
basé sur les wal :
    pitrery
    barman
    wal-e
réplication
    slony
    londiste
documentation PG : 24.3. Archivage continu et récupération d'un instantané (PITR)
    semble répondre à mon objectif, mais suppose de ma part un gros travail de développement

Ma question est donc : partir de la documentation 24.3 est-il une solution réaliste ?
sachant que je n'ai guère besoin d'un serveur esclave qui prenne le relai (réplication) ou que les solutions basées sur les wal présentent chacune plusieurs inconvénients.

Merci

#6 Général » Données sur deux disques durs » 15/01/2017 20:20:06

mybofy
Réponses : 2

Bonjour

Est-il possible d'avoir les données sur deux disques durs ?

Merci

#7 Installation » compatibilté des versions de postgresql selon la version d'ubuntu » 28/08/2016 17:58:56

mybofy
Réponses : 1

Bonjour

J'ai vu quelque part qu'il y avait une sorte d'association recommadée entre les version de PostgreSQL et une version de Ubuntu.
Mais je ne retrouve pas où ?

Exemple (fictif et non valable):

version de Postgresql          version recommandée d'Ubuntu

9.3                                    14.04
9.4                                    15.0
...                                      ...

Merci de l'info

#8 Re : Général » Accès par localhost vs mondomaine.tld » 31/01/2016 18:19:33

listen_addresses = '*'    # what IP address(es) to listen on;

+ restart

#9 Général » Accès par localhost vs mondomaine.tld » 31/01/2016 17:25:49

mybofy
Réponses : 3

Bonjour

Serveur PG sur un Mac, ainsi qu'un serveur Apache.
Le Mac a une adresse IP associée à un domaine "mondomaine.tld".

Le serveur Apache est totalement fonctionnel :
Dans le navigateur du mac,   "mondomaine.tld:80" marche parfaitement, comme "localhost:80" d'ailleurs.

Le serveur PG marche parfaitement en utilisant comme host : "psql -h localhost ...".
Par contre, impossible d'accèder au serveur PG via le domaine : "psql -h mondomaine.tld ..."  ne marche pas :
            psql: could not connect to server: Connection refused

Est-ce normal ?
Faut-il être sur une machine du WAN pour pouvoir lancer "psql -h mondomaine.tld ..." ?
Y aurait-il un problème de configuration quelque part ?

Ce qui me paraît étrange c'est que tout marche pour le serveur Apache, mais pas pour le serveur PG.

Merci de l'aide

#10 Général » Réinitialisation de la table pg_stat_database. » 15/10/2015 17:28:59

mybofy
Réponses : 2

Bonjour

Je voudrais utiliser la table "pg_stat_database" pour mesurer l'activité depuis une date donnée.

Comment réinitialiser cette table à un moment précis ? Par exemple à 0 heure chaque jour ?

Je n'ai pas trouvé d'outil pour le faire dans la doc.

Merci

#11 Re : Installation » [Résolu]postgresql connexion impossible » 08/07/2014 09:19:04

Le problème venait de la freebox : une plage d'adresses ip restreinte à 1 -> 1024.
Etendue à 1 -> 5600 ça marche.

Vos réponses m'ont incité à aller voir tous les endroits où des ports étaient bloqués.

Merci à tous

#12 Installation » [Résolu]postgresql connexion impossible » 07/07/2014 17:34:09

mybofy
Réponses : 3

Bonjour
Mavericks 10.9.4

J'installe postgresql 9.3 avec l'installateur EnterpriseDB.
Tout est OK.
Sauf que postgresql n'accepte pas de connexion venant de l'extérieur.

pgsql : OK
pgsql -h localhost : OK
psql -h 192.168.0.104 : (IP sur le réseau local)
psql: could not connect to server: Connection refused
Is the server running on host "192.168.0.104" and accepting
TCP/IP connections on port 5432?
pgsql -h mamachine.fr : (nom de domaine de ma machine)
psql: could not connect to server: Connection refused
Is the server running on host "lorien.fr" (88.180.126.137) and accepting
TCP/IP connections on port 5432?

Il s'agit bien d'un problème de pg.
J'ai modifié postgresql.conf et pg_hba.conf.
postgresql est bien actif dans le moniteur d'activité.
Le port postgres est bien ouvert.

J'avais installé postgresql-9.1 qui marchait parfaitement.

J'ai essayé les autres installateur. Aucun ne marche !

Or j'ai besoin de la version 9.3 pour installer l'extension postgis2.1.

Merci de l'aide.

#13 Re : PHP » [Résolu]Afficher des images sans passer par un fichier intermédiaire » 11/04/2014 15:59:25

Ceci marche pour moi.

1. remplacer l'intérieur de la boucle par :
    $row = pg_fetch_array($res, $ri);
    $idPhoto = $row['id'];
    echo "<img src='image.php?idPhoto=" .$idPhoto. "' />";

2. créer un fichier image.php avec le contenu suivant :
<?php
    $idPhoto0 = $_GET['idPhoto'];
    $link = pg_Connect("host=localhost dbname=... user=... password=...");
    $sql = "select id, miniature  from photo where id=".$idPhoto0;
    $res = pg_query($link, $sql);
    $raw = pg_fetch_result($res, 'miniature');
    header('Content-Type: image/jpeg');
    echo pg_unescape_bytea($raw);
    pg_close($link);
?>

Commentaire.
- pour afficher une photo dans un document html, il faut utiliser l'élément img ;
  problème : img demande un uri (plus simplement le nom d'un fichier contenant une image jpeg ou autre ;
  on va donc utiliser un fichier image.php qui va générer l'image extraite de la base de donnée (ici PostgreSQL);
  ce fichier peut-être paramètre comme on veut ;
- cet exemple est à ajuster à chaque besoin;
- on n'a plus besoin d'avoir des fichiers de photos dont la gestion n'est pas simple, au moins dans mon cas.

#14 PHP » [Résolu]Afficher des images sans passer par un fichier intermédiaire » 08/04/2014 16:10:58

mybofy
Réponses : 2

Bonjour

code qui marche :
$link = pg_Connect("host=localhost dbname=... user=... password='...'");
$res = pg_query($link, "select miniature  from photo ");
$numrows = pg_numrows($res);
for($ri = 0; $ri < $numrows; $ri++) {
$row = pg_fetch_array($res, $ri);
$img =  pg_unescape_bytea($row['miniature']);
$fln = "toto".$ri.".jpeg";
file_put_contents($fln, $img);
echo "<img src='".$fln."'/>";
}

Comment se passer du fichier intermédiaire $fln ?

Merci

#15 Re : PgAdmin3 » Impossible de supprimer un serveur » 15/03/2014 18:13:31

J'ai vu sur le net que je ne suis pas le seul à avoir ce problème.
Aucune des solutions proposées ne marche.

J'ai désinstallé PG complètement. Il ne reste plus de traces.
J'ai désinstallé pgadmin, YC les fichiers dans Library/Preferences et tout ce que j'ai pu trouver ayant trait à pgadmin.

J'ai toujours les anciens serveurs.

Il y a obligatoirement quelque part dans OSX un fichier qui garde ces informations.
Où est-il ? Est-ce confidentiel défense ?

Merci de l'aide.

#16 PgAdmin3 » Créer une BdD avec le schéma d'une autre. » 05/03/2014 19:12:05

mybofy
Réponses : 1

Bonjour

Je veux créer une BdD1 avec le même schéma que la BdD0, sans les données de celle-ci.

Donc essai d'utiliser sauvegarder et restaurer de PgAdmin.

La seule sauvegarde possible pour "Schéma uniquement" est avec "Fichier plat".
La restauration est impossible avec "Fichier plat".

Comment faire ?

Merci

#17 Re : PgAdmin3 » Impossible de supprimer un serveur » 18/01/2014 12:33:44

Je n'ai pas de fichier ~/.pgadmin3.
J'en ai créé un.
Mais ça ne change rien.
Ce n'est pas grave, c'est simplement agaçant.

#18 Re : PHP » [Résolu]Pas de connexion apache php postgresql » 17/01/2014 21:42:31

Le texte de mon message m'a amené effectivement à chercher du côté des fonctions pro_pgsql.
C'est bien ce que vous dites.
Voici un code qui marche :
        $user = 'toto';
        $pass = 'toto';
        $db = new PDO('pgsql:dbname=toto host=localhost', $user, $pass);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $db->beginTransaction();
        $db->exec("insert into toto (text) values ('azerty');");
        $db->commit();

Il me reste à apprendre un nouveau langage...

Dommage que je n'aie pas réussi à trouver un bête module php-pgsql.
Merci

#19 PHP » [Résolu]Pas de connexion apache php postgresql » 17/01/2014 20:25:08

mybofy
Réponses : 3

Bonjour
OSX Mavericks - PHP 5.4 - PG 9.3

phpinfo():
pdo_pgsql

PDO Driver for PostgreSQL    enabled
PostgreSQL(libpq) Version    9.3.2
Module version    1.0.2
Revision     $Id$

code :
        $db = pg_connect("host=localhost dbname=toto port=5432 user=toto password=toto");

log apache :
[Fri Jan 17 19:08:37 2014] [error] [client 192.168.0.254] PHP Fatal error:  Call to undefined function pg_connect() in /Library/WebServer/Documents/index.php on line 21

nb :
psql avec les même paramètres OK

merci

#20 PgAdmin3 » Impossible de supprimer un serveur » 17/01/2014 16:18:40

mybofy
Réponses : 4

Bonjour
OSX Mavericks - PgAdmin 1.18

Je viens d'installer PG 9.3. Après avoir supprimé l'ancienne version PG 9.1, dont j'ai vérifié qu'il ne reste plus de traces.
Dans la liste des serveurs, je vois bien le nouveau serveur PG 9.3.
Mais il reste l'ancien serveur PG 9.1. Je le supprime, il disparaît bien de la liste.

Problème.
Quand le lance à nouveau PgAdmin, le serveur PG 9.1 est de niveau là.

Comment faire pour le faire disparaître définitivement ?

Merci de l'aide.

#21 Re : Installation » [Résolu]Problème installation PostgreSQL EnterpriseDB » 17/01/2014 15:34:44

J'ai réussi à installer PG 9.3 en procédant de la façon suivante.
Installation de PG 9.2.
Installation de PG 9.3.
Suppression de PG.2 avec ce que j'ai découvert :
    open /Library/PostgreSQL/uninstall-postgresql.app

C'est l'outil que je cherchais depuis longtemps et qui permet une désinstallation propre.

#22 Installation » [Résolu]Problème installation PostgreSQL EnterpriseDB » 17/01/2014 12:28:22

mybofy
Réponses : 1

Bonjour
OSX Mavericks - PG EnterpriseDB

J'avais installé PG 9.1, que je n'utilisait plus depuis pas mal de temps.
Gros souci : perte du mot de passe administrateur.

J'installe donc PG 9.3.
Nouveaux soucis.
Je crée un utilisateur robert. Impossible de me connecter : mot de passe invalide.
Après de nombreuses recherches, je m'aperçois que les deux démons sont actifs, ce qui crée des tas de conflits.

Je décide de supprimer les deux démons et de supprimer les deux versions.
Je supprime les démons et tous les répertoires et fichiers.

Je réinstalle PG 9.3.
Problème : l'installateur détecte une ancienne version dans /Library/PostgreSQL/9.3, alors que j'ai supprimer ce répertoire !
ensuite il me demande le mot de passe de postgres et bien sûr celui que je donne est refusé.

Comment l'installateur a-t-il pu trouver un fichier qui n'existe pas ? Y aurait-il encodé des traces que je n'aurais pas effacé ?

Merci de l'aide.

#24 Re : PgAdmin3 » Enregistrer mot de passe fonctionne pas à connexion serveur » 09/11/2013 19:04:26

"Pour moi, l'erreur vient de la saisie. Je n'ai jamais rencontré d'autres cas."

Eh bien voici un autre cas.

Je précise avec OSX 10.7.5 et avec OSX 10.9

De mieux en mieux.

Je télédécharge la version 1.18.1 de pgadmin3.

J'ai le message
Impossible d'ouvrir " pgAdmin3.app ", car cette app provient d'un développeur non identifié

#25 PgAdmin3 » Enregistrer mot de passe fonctionne pas à connexion serveur » 18/10/2013 18:40:28

mybofy
Réponses : 3

Bonjour
postgresql 9.1.9 - ubuntu 12.04

J'ai un serveur PG qui fonctionne normalement.

Je le gère depuis un mac avec pgadmin3.

Lorsque je veux me connecter :

    - je coche "enregistrer le mot de passe", la connexion se fait ; mais à la connexion suivante, j'ai l'erreur :
        Error connecting to the server : FATAL : password authentication failed for user "postgres"...

    - je ne coche pas "enregistrer le mot de passe", tout se passe normalement

Je ne fais pas de faute dans l'écriture du mot de passe que j'utilise quotidiennement en ce moment.

Où est mon erreur ?

Merci

Pied de page des forums

Propulsé par FluxBB