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 » pg_ctl status sous Windows ne voit le serveur » 18/09/2020 15:34:11

Merci !
Je me disais bien que c'était tout bête...

Je suis administrateur du poste mais cela ne suffit pas.
Il faut d'abord lancer cmd.exe en tant qu'administrateur.
(je n'ai pas encore le réflexe, la dernière fois que j'ai eu les droits d'administration du poste, c'est sous XP où il n'y avait pas cette subtilité).

Cordialement.

#2 Re : Général » pg_ctl status sous Windows ne voit le serveur » 18/09/2020 15:22:10

Contenu du pg_env.bat (créé par l'installer d'EDB) :
@ECHO OFF
REM The script sets environment variables helpful for PostgreSQL

@SET PATH="C:\Program Files\PostgreSQL\11\bin";%PATH%
@SET PGDATA=C:\Program Files\PostgreSQL\11\data
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5432
@SET PGLOCALEDIR=C:\Program Files\PostgreSQL\11\share\locale

#3 Re : Général » pg_ctl status sous Windows ne voit le serveur » 18/09/2020 15:14:08

select setting from pg_settings where name = 'data_directory';

C:/Program Files/PostgreSQL/11/data



A tout hasard j'ai testé aussi :
pg_ctl status -D "C:/Program Files/PostgreSQL/11/data"
pg_ctl status -D "C:\\Program Files\\PostgreSQL\\11\\data"
avec le même résultat.



Techniquement si vous avez exécuté pg_basebackup vous avez maintenant 2 servers.

Un répertoire contenant ce qui ressemble une copie du contenu du répertoire data.
Mais à ma connaissance cela ne démarre aucun serveur. C'est juste une sauvegarde.

#5 Re : Général » pg_ctl status sous Windows ne voit le serveur » 18/09/2020 15:02:26

Tout à fait.
Il n'y a qu'un seul serveur.

J'interagis avec sans problème via pgadmin 4.

Pour la configuration du log shipping du primary, j'ai suivi la documentation et donc utilisé les commandes.
A l'exception de la prise en compte des changements de postgres.conf pour lesquels j'ai utilisé le Reload Configuration de pgadmin 4.
(je n'avais déjà pas réussi à utiliser pg_ctl reload)

Cordialement.

P.S. dans mes réponses, les lignes blanches disparaissent. Y a-t-il moyen de les préserver, histoire que ce soit moins tassé ?

#6 Re : Général » pg_ctl status sous Windows ne voit le serveur » 18/09/2020 14:51:28

Même réponse avec pg_ctl status -D "C:\Program Files\PostgreSQL\11\data".

Cordialement.

#8 Général » pg_ctl status sous Windows ne voit le serveur » 18/09/2020 14:47:18

etelhci
Réponses : 10

Bonjour.

J'ai installé un serveur PostgreSQL 11.9 avec l'installer d'EDB.

J'ai réussi à le configurer en tant que primary pour le "26.2. Log-Shipping Standby Servers". Le répertoire d'archive est bien alimenté avec les fichiers WAL.
J'ai aussi réussi à faire un backup par pg_basebackup.

Mais j'ai un souci avec pg_ctl status qui ne voit pas le serveur.

J'ai fait dans cmd.exe :
cd C:\Program Files\PostgreSQL\11
pg_env.bat
cd bin (pour éviter un message d'erreur parasite étrange et que ce soit en anglais)
pg_ctl status
Résultat :
pg_ctl : aucun serveur en cours d'exécution

Par avance merci.

Cordialement.

#9 Re : Général » Mac OS X Postgres 11.9 instal à partir des sources : échec make check » 18/09/2020 14:39:31

Bonjour.

Désolé, pour diverses raisons je n'ai malheureusement pas pu reprendre le sujet.

Merci pour la réponse. Malheureusement je ne pourrais l'exploiter.

Soit dit en passant, je ne m'attendais pas à devoir creuser dans le code lui-même. Je n'en ai ni vraiment les compétences, ni vraiment le temps. Est-ce une nécessité pour travailler avec PostgreSQL ?

Il me reste aussi une question que j'ai gardée en mémoire :

Il me semble que pour pouvoir tester psql, il faut un serveur ?

Hors celui du make check ne me semble avoir été créé ou a été supprimé avant qu'il rende la main.
Cette étape se situant avant l'installation du serveur je n'ai donc aucun serveur pour tester psql.

Par avance merci.

Cordialement.

#10 Re : Général » Mac OS X Postgres 11.9 instal à partir des sources : échec make check » 08/09/2020 13:28:57

Si j'ai bien compris, make check crée un serveur temporaire le temps de son exécution pour tester la compilation des sources (donc après make world).

C'est l'étape "3 Regression Tests" de la procédure que j'ai suivi : "16.4. Installation Procedure".
https://www.postgresql.org/docs/11/inst … edure.html

Mais je n'ai aucun détail sur ce que make check fait concrètement.
Et le chapitre https://www.postgresql.org/docs/11/regress.html ne parle pas de ce genre d'erreur.

Cordialement.

#12 Re : Général » Mac OS X Postgres 11.9 instal à partir des sources : échec make check » 08/09/2020 09:48:57

Bonjour.

C'est indiqué juste avant le log de make :

----------------------------->postgresql-11.9/src/test/regress/log/postmaster.log
2020-09-07 15:09:26.942 CEST [11235] LOG:  listening on Unix socket "/tmp/pg_regress-OaEkvv/.s.PGSQL.60857"
2020-09-07 15:09:26.950 CEST [11238] LOG:  database system was shut down at 2020-09-07 15:09:26 CEST
2020-09-07 15:09:26.950 CEST [11239] [unknown] FATAL:  the database system is starting up
2020-09-07 15:09:26.952 CEST [11235] LOG:  database system is ready to accept connections

Cordialement.

#13 Re : Général » Apprenti PostgreSQL étudiant la haute disponibilité/réplication » 08/09/2020 09:40:18

Merci.

Comme la création de l'utilisateur Unix le rend normalement propriétaire de son répertoire, je me demandais s'il n'y avait pas un autre problème. Avec d'éventuel conséquences ultérieures lors de l'exploitation du serveur créé.

Je vais essayer.

Cordialement.

#14 Général » Mac OS X Postgres 11.9 instal à partir des sources : échec make check » 07/09/2020 15:27:48

etelhci
Réponses : 8

Bonjour.

Je suis en train d'installer postgreSQL 11.9 sur Mac OS X à partir des sources.

J'en suis à l'étape make check qui semble ne pas avoir abouti.
Mais il n'affiche pas beaucoup d'informations sur ce qui n'a pas marché.

J'ai mis l'affichage et le contenu des fichiers.

Par avance merci.
Cordialement.

----------------------------->postgresql-11.9/src/test/regress/log/postmaster.log

2020-09-07 15:09:26.942 CEST [11235] LOG:  listening on Unix socket "/tmp/pg_regress-OaEkvv/.s.PGSQL.60857"
2020-09-07 15:09:26.950 CEST [11238] LOG:  database system was shut down at 2020-09-07 15:09:26 CEST
2020-09-07 15:09:26.950 CEST [11239] [unknown] FATAL:  the database system is starting up
2020-09-07 15:09:26.952 CEST [11235] LOG:  database system is ready to accept connections

----------------------------->Sortie make check :

/Library/Developer/CommandLineTools/usr/bin/make -C ./src/backend generated-headers
/Library/Developer/CommandLineTools/usr/bin/make -C catalog distprep generated-header-symlinks
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
/Library/Developer/CommandLineTools/usr/bin/make -C utils distprep generated-header-symlinks
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
rm -rf '<...>/postgresql-11.9'/tmp_install
/bin/sh ./config/install-sh -c -d '<...>//postgresql-11.9'/tmp_install/log
/Library/Developer/CommandLineTools/usr/bin/make -C '.' DESTDIR='<...>/postgresql-11.9'/tmp_install install >'<...>/postgresql-11.9'/tmp_install/log/install.log 2>&1
/Library/Developer/CommandLineTools/usr/bin/make -j1 -C src/test/regress checkprep >>'<...>/postgresql-11.9'/tmp_install/log/install.log 2>&1
/Library/Developer/CommandLineTools/usr/bin/make -C src/test/regress check
/Library/Developer/CommandLineTools/usr/bin/make -C ../../../src/port all
make[2]: Nothing to be done for `all'.
/Library/Developer/CommandLineTools/usr/bin/make -C ../../../src/common all
make[2]: Nothing to be done for `all'.
/Library/Developer/CommandLineTools/usr/bin/make -C ../../../contrib/spi
make[2]: Nothing to be done for `all'.
rm -rf ./testtablespace
mkdir ./testtablespace
PATH="<...>/postgresql-11.9/tmp_install/usr/local/pgsql/bin:$PATH" DYLD_LIBRARY_PATH="<...>/postgresql-11.9/tmp_install/usr/local/pgsql/lib"  ../../../src/test/regress/pg_regress --temp-instance=./tmp_check --inputdir=. --bindir=     --dlpath=. --max-concurrent-tests=20  --schedule=./parallel_schedule 
============== creating temporary instance            ==============
============== initializing database system           ==============
============== starting postmaster                    ==============
sh: line 1: 11247 Abort trap: 6           "psql" -X postgres < /dev/null 2> /dev/null
<... d'autres lignes du même genre>
sh: line 1: 11425 Abort trap: 6           "psql" -X postgres < /dev/null 2> /dev/null

pg_regress: postmaster did not respond within 60 seconds
Examine <...>/postgresql-11.9/src/test/regress/log/postmaster.log for the reason
make[1]: *** [check] Error 2
make: *** [check] Error 2

------------------------------

#15 Re : Général » Apprenti PostgreSQL étudiant la haute disponibilité/réplication » 07/09/2020 11:35:07

Merci pour votre réponse.
Concernant votre remarque sur la complexité des solutions de haute disponibilité, j'en déduis donc que pour la mise en place de la solution et son exploitation au quotidien, il faut un expert en exploitation postgreSQL, est-ce bien cela ?

Cordialement

#16 Re : Général » Apprenti PostgreSQL étudiant la haute disponibilité/réplication » 07/09/2020 11:28:32

En fait je suis un peu perdu dans tous les matériaux disponibles sur PostgreSQL.

Mon besoin n'est pas de pousser en avant la solution d'untel ou d'untel mais de comparer les différentes solutions et de fournir leurs avantages et inconvénients et de tester leur mise en oeuvre.

Connaissant bien le développement sous Oracle, j'ai essayé divers "raccourcis".
Force est de constater que postgreSQL n'a pas grand chose à voir avec Oracle/Sybase.

Du coup j'envisage de prendre plus de temps pour aborder le sujet de façon plus "académique" en évitant tout raccourcis.

J'ai des notions sur les principes de fonctionnement des SGBDR Sybase/Oracle et sur la sécurité en général.

----->Exemple de blocage rencontré sur Mac OS X avec l'installer fourni par EDB :
L'utilisateur Postgres créé n'est propriétaire que du répertoire data.
Le reste appartient à root.
Donc impossible de créer un serveur via initdb : sudo -u postgres /Library/PostgreSQL/11/bin/initdb -D /Library/PostgreSQL/11/tstrepl1prim
Résultat :
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "fr_FR.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "french".
Data page checksums are disabled.
creating directory /Library/PostgreSQL/11/tstrepl1prim ... initdb: could not create directory "/Library/PostgreSQL/11/tstrepl1prim": Permission denied

Dans mes diverses recherches, la seule "solution" évoquée consistait à donner les droits root à Postgres (via sudoers), ce qui n'est bien entendu pas envisageable en terme de sécurité.

Cordialement

#18 Général » Apprenti PostgreSQL étudiant la haute disponibilité/réplication » 07/09/2020 10:41:37

etelhci
Réponses : 8

Bonjour.

Je ne connais ni PostgreSQL ni le monde open de façon générale.

Je dois mener une étude sur la haute disponibilité et a réplication pour une application simple développée en PostgreSQL.

J'ai passé une petite semaine à lire la documentation et et essayer divers éléments.
Mais je me suis retrouvé plusieurs fois bloqués.

J'ai tout d'abord installé PostgreSQL sur Windows en utilisant l'installer fournit par EBD.

Mais comme la documentation PostgreSQL est basée sur un contexte Unix (lignes de commande, etc.), j'ai fait la même chose sous Mac os x.
J'ai essayé d'applique le chapitre suivant : PostgreSQL/pg11html/pgsql-118-fr/warm-standby.html.
J'ai été aussi bloqué.

Je suis un développeur expérimenté sur un certain nombre de technologies payantes (Oracle PL/SQL SGBDR/orm, anciennement Visual Studio C++ et Sybase, etc.).
Mais je n'ai pas d'expérience en ce qui concerne l'administration ou l'exploitation.
J'utilise uniquement les outils faits pour les développeurs dans de grandes organisations (pas d'accès à l'administration, même sur mon poste de travail Windows).
J'ai aussi un peu d'expérience en shell Unix.

Quel cycle d'apprentissage me recommanderiez-vous ?

Par avance merci pour votre aide.
Cordialement

Pied de page des forums

Propulsé par FluxBB