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 03/12/2018 19:04:03

joshw
Membre

Suggestion

Bonjour,

Étant totalement débutant et nouveau sur votre site, j'aurais voulu poser une question concernant l'absence d'un tuto, car j'ai installé postgresql sous Fedora 29....
Je fais référence à la documentation de votre site, dans laquelle on invite le lecteur à lire un tuto...au chapitre 2.1
du lien suivant : https://docs.postgresql.fr/10/tutorial-sql.html

En outre, je suis surpris de ne pas voir de moteur de recherche sur votre forum.
Comment éviter les questions redondantes ? => il y a énormément de discutions...

Cordialement,

Hors ligne

#2 04/12/2018 00:31:10

gleu
Administrateur

Re : Suggestion

Pas sûr de comprendre la question sur le tutoriel. Le tutoriel est le chapitre 2 de la documentation.

Et concernant la recherche, il y a https://forums.postgresql.fr/search.php

Hors ligne

#3 04/12/2018 09:30:15

joshw
Membre

Re : Suggestion

Bonjour,

Merci pour votre réponse ! En fait, la documentation (le lien http du post 1) propose de suivre (au ch 2.1) un tuto qui par défaut est présent dans le répertoire d'installation.
Hors, j'ai fait l'installation via Fedora et non les sources du site officielle. Du coup le tuto mentionné au chapitre 2.1 est absent sur ma machine. J'aurais donc voulu me le procurer.

Bon évidemment, ce n'est pas le bon endroit pour poser cette question.
Merci pour votre lien, j'aurai plus facile à voir si quelqu'un à déjà poser cette question.
En même temps, je n'avais pas vu le lien "recherche", désolé.

Cordialement,

Hors ligne

#4 04/12/2018 09:52:15

gleu
Administrateur

Re : Suggestion

Pour vous le procurer, il faut récupérer les sources. Ce qu'il faut bien voir, c'est que le site officiel ne fournit que les sources de PostgreSQL, donc la documentation ne parle que de ça. Pas des paquets précompilés proposés par certaines personnes ou sociétés.

Hors ligne

#5 04/12/2018 17:47:24

joshw
Membre

Re : Suggestion

Bonjour,

Pour info, j'ai trouvé les sources sur votre site. Il y a apparemment 2 formats :

1 => bz2
2 => gz

Apparemment, ils contiennent tous les deux les mêmes fichiers ? sources

Le répertoire d'installation étant différent, j'imagine que le mieux est de copié les sources dedans et qu'ensuite je suive les instructions de la documentation

[root@localhost ~]# cd /var/lib/pgsql/data
[root@localhost data]# ls
base              pg_hba.conf.backup  pg_serial     PG_VERSION
current_logfiles  pg_ident.conf       pg_snapshots  pg_wal
global            pg_log              pg_stat       pg_xact
log               pg_logical          pg_stat_tmp   postgresql.auto.conf
pg_commit_ts      pg_multixact        pg_subtrans   postgresql.conf
pg_dynshmem       pg_notify           pg_tblspc     postmaster.opts
pg_hba.conf       pg_replslot         pg_twophase   postmaster.pid

Voici la procédure qui m'a permis d'installer postgresql : Installation de postgresql sous Fedora

Dernière modification par joshw (04/12/2018 17:48:53)

Hors ligne

#6 04/12/2018 18:17:43

gleu
Administrateur

Re : Suggestion

Oui, ils contiennent les mêmes fichiers. Seul le format de compression change.

Je ne suis pas sûr d'avoir compris où vous voulez extraire les fichiers. Une chose est sûre : surtout pas dans le répertoire des données de PostgreSQL !

Hors ligne

#7 04/12/2018 19:04:10

joshw
Membre

Re : Suggestion

Oui, je me disais aussi à l'instant, car ce répertoire n'est accessible qu'au "super utilisateur" (sudo) et "postgres".
Que pensez-vous si je copiais

/src/tutorial

dans un répertoire "exercices" ?

[postgres@localhost ~]$ pwd
/var/lib/pgsql
[postgres@localhost ~]$ ls
backups  data  initdb_postgresql.log
[postgres@localhost ~]$ mkdir exercices
[postgres@localhost ~]$ ls
backups  data  exercices  initdb_postgresql.log

Car, pour lancer :

psql

je dois me logger en "postgres" qui par défaut se trouve dans :

[postgres@localhost ~]$ pwd
/var/lib/pgsql

Dernière modification par joshw (04/12/2018 19:11:36)

Hors ligne

#8 04/12/2018 23:47:04

gleu
Administrateur

Re : Suggestion

Oui, vous pouvez. Mais clairement, ce n'est pas nécessaire. Il vous suffit de modifier le fichier pg_hba.conf pour pouvoir vous connecter de votre compte. Commencez par lire la configuration du serveur pour l'authentification (https://docs.postgresql.fr/10/client-au … ation.html).

Hors ligne

#9 05/12/2018 18:59:22

joshw
Membre

Re : Suggestion

Bonsoir,

Voici la config du pg_hba.conf :

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     md5
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

J'ai essayé de compiler comme c'est demandé au chapitre 2.1 de la documentation

[toto@localhost Postgresql_10_6]$ ls
aclocal.m4  configure     contrib    doc             HISTORY  Makefile  src
config      configure.in  COPYRIGHT  GNUmakefile.in  INSTALL  README
[toto@localhost Postgresql_10_6]$ cd src/tutorial/
[toto@localhost tutorial]$ ls
advanced.source  complex.c       funcs.c      funcs.source  README
basics.source    complex.source  funcs_new.c  Makefile      syscat.source
[toto@localhost tutorial]$ make
make: pg_config: Command not found
make: *** Pas de cible. Arrêt.

mais le script s'arrête, car il ne trouve pas le fichier "pg_config" (que je ne vois pas non plus dans les sources téléchargées)
Avez-vous déjà rencontrer ce cas ?

Pour info "toto" est dans le groupe "sudo", ainsi qu'ajouté via "psql" comme utilisateur pouvant créer des DB.

Dernière modification par joshw (05/12/2018 19:03:22)

Hors ligne

#10 05/12/2018 22:36:50

joshw
Membre

Re : Suggestion

Bonsoir,

Pour info, j'ai trouvé ça :

root@localhost src]# find / -name pg_conf*
find: ‘/run/user/1000/gvfs’: Permission denied
/home/toto/Documents/Postgresql_10_6/src/backend/utils/misc/pg_config.c
/home/toto/Documents/Postgresql_10_6/src/bin/pg_config
/home/toto/Documents/Postgresql_10_6/src/bin/pg_config/pg_config.c
/home/toto/Documents/Postgresql_10_6/src/include/pg_config_manual.h
/home/toto/Documents/Postgresql_10_6/src/include/pg_config_ext.h.in
/home/toto/Documents/Postgresql_10_6/src/include/pg_config.h.win32
/home/toto/Documents/Postgresql_10_6/src/include/pg_config_ext.h.win32
/home/toto/Documents/Postgresql_10_6/src/include/pg_config.h.in
/home/toto/Documents/Postgresql_10_6/doc/src/sgml/ref/pg_config-ref.sgml
/home/toto/Documents/Postgresql_10_6/doc/src/sgml/man1/pg_config.1
/var/lib/pgsql/src/include/pg_config.h.in
/var/lib/pgsql/src/include/pg_config_ext.h.in
/var/lib/pgsql/src/include/pg_config_ext.h.win32
/var/lib/pgsql/src/include/pg_config.h.win32
/var/lib/pgsql/src/include/pg_config_manual.h

Dernière modification par joshw (05/12/2018 22:38:46)

Hors ligne

#11 05/12/2018 22:37:17

gleu
Administrateur

Re : Suggestion

Tout dépend des paquets que vous avez installé. Il faut avoir installé le paquet postgresql*-devel. Après ça, pg_config devrait se trouver dans /usr/pgsql-<version>/bin. En modifiant le PATH, cela devrait fonctionner.

Hors ligne

#12 05/12/2018 22:42:15

joshw
Membre

Re : Suggestion

Ok, je vais devoir la désinstaller alors, car c'est la version serveur que j'ai installée pas "devel"

Hors ligne

#13 05/12/2018 23:47:54

gleu
Administrateur

Re : Suggestion

Ce sont des paquets séparés qui ne contiennent pas la même chose. Il n'est donc pas nécessaire de désinstaller quoi que ce soit.

Hors ligne

#14 08/12/2018 21:48:17

joshw
Membre

Re : Suggestion

Bonjour,

Sorry, j'ai eu d'autres occupations entre temps...
Pour information, j'ai trouvé la doc officielle ici : documentation officielle qui est très bien faite.
D'après ce que je comprends, la version "Server" est optionnelle.
Il semble y avoir une légère différence (pas sûr de moi).
Pour la version Serveur, par défaut sous Fedora 29, de mémoire, il s'agit de la verions 10.6
Dans la doc officielle, on propose, si je comprends bien d'installer la version 10.4 (client) avec en option une version 10.? de la version "Server". Soit, ...

Si on ne veut pas passer par cette méthode, on peut télécharger directement pour Fedora 29 le rpm client qui contient ceci  :  description du contenu et on y parle bien de "devel".

Tout ça pour dire, que je pense avoir trouvé mon bonheur.

Hors ligne

#15 10/12/2018 00:49:33

joshw
Membre

Re : Suggestion

Bonsoir,

Pour info, j'ai finalement réussi à installer Postgresql, Apache, Php.
Il me reste à tester le chapitre 2.1 (make...)
ainsi, qu'à trouver comment tester pg4dmin.

Hors ligne

#16 Hier 16:47:47

joshw
Membre

Re : Suggestion

Bonjour,

Comme proposé au post #11, j'ai ajourter au path le chemin : "/usr/pgsql-10/bin:"
Malheureusement, après l'exécution de "make", je me heurte à un message d'erreur :

"Makefile:27: /usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
make: *** Aucune règle pour fabriquer la cible « /usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk ». Arrêt."



[toto@localhost tutorial]$ ls
advanced.source  complex.c       funcs.c      funcs.source  README
basics.source    complex.source  funcs_new.c  Makefile      syscat.source
[toto@localhost tutorial]$ make
Makefile:27: /usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
make: *** Aucune règle pour fabriquer la cible « /usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk ». Arrêt.
[toto@localhost tutorial]$ pwd
/home/toto/Postgresql/postgresql-10.6/src/tutorial
[toto@localhost tutorial]$ echo $PATH | tr : \\n
/home/toto/.local/bin
/home/toto/bin
/home/toto/.local/bin
/home/toto/bin
/usr/share/Modules/bin
/usr/local/bin
/usr/local/sbin
/usr/bin
/usr/sbin
/usr/pgsql-10/bin/
[toto@localhost tutorial]$ 

Est-ce que je ne devrais pas plutôt insérer dans le "path" le chemin vers le répertoire des sources téléchargées ?

Hors ligne

#17 Hier 16:54:40

gleu
Administrateur

Re : Suggestion

Non, vu que le PATH ne sert que pour des exécutables.

Qu'avez vous installé au final comme paquets PostgreSQL ?

Hors ligne

#18 Hier 16:57:29

joshw
Membre

Re : Suggestion

J'ai installé le client (devel) et le serveur, mais je n'ai pas encore trouvé, cherché, comment lancer le client.

[root@localhost ~]# dnf list postgres*
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:51:39 le mar 11 déc 2018 15:11:38 CET.
Paquets installés
postgresql10.x86_64                          10.6-1PGDG.f29              @pgdg10
postgresql10-libs.x86_64                     10.6-1PGDG.f29              @pgdg10
postgresql10-server.x86_64                   10.6-1PGDG.f29              @pgdg10
Paquets disponibles
postgresql.i686                              10.6-1.fc29                 updates
postgresql.x86_64                            10.6-1.fc29                 updates
postgresql-contrib.x86_64                    10.6-1.fc29                 updates
postgresql-dbi-link.noarch                   2.0.0-18.fc29               fedora 
postgresql-devel.i686                        10.6-1.fc29                 updates
postgresql-devel.x86_64                      10.6-1.fc29                 updates
postgresql-docs.x86_64                       10.6-1.fc29                 updates
postgresql-ip4r.x86_64                       2.0.2-17.fc29               fedora 
postgresql-jdbc.noarch                       42.2.5-1.f29.1              pgdg10 
postgresql-jdbc-javadoc.noarch               42.2.5-1.f29.1              pgdg10 
postgresql-libs.i686                         10.6-1.fc29                 updates
postgresql-libs.x86_64                       10.6-1.fc29                 updates
postgresql-odbc.i686                         10.03.0000-2.fc29           fedora 
postgresql-odbc.x86_64                       10.03.0000-2.fc29           fedora 
postgresql-odbc-tests.x86_64                 10.03.0000-2.fc29           fedora 
postgresql-pgpool-II.i686                    3.7.4-2.fc29                fedora 
postgresql-pgpool-II.x86_64                  3.7.4-2.fc29                fedora 
postgresql-pgpool-II-devel.i686              3.7.4-2.fc29                fedora 
postgresql-pgpool-II-devel.x86_64            3.7.4-2.fc29                fedora 
postgresql-pgpool-II-extensions.x86_64       3.7.4-2.fc29                fedora 
postgresql-pgpoolAdmin.noarch                3.6.1-4.fc29                fedora 
postgresql-plperl.x86_64                     10.6-1.fc29                 updates
postgresql-plpython.x86_64                   10.6-1.fc29                 updates
postgresql-plpython3.x86_64                  10.6-1.fc29                 updates
postgresql-plruby.x86_64                     0.5.4-21.fc29               fedora 
postgresql-plruby-doc.x86_64                 0.5.4-21.fc29               fedora 
postgresql-pltcl.x86_64                      10.6-1.fc29                 updates
postgresql-server.i686                       10.6-1.fc29                 updates
postgresql-server.x86_64                     10.6-1.fc29                 updates
postgresql-static.i686                       10.6-1.fc29                 updates
postgresql-static.x86_64                     10.6-1.fc29                 updates
postgresql-test.x86_64                       10.6-1.fc29                 updates
postgresql-test-rpm-macros.x86_64            10.6-1.fc29                 updates
postgresql-unit10.x86_64                     7.0-1.f29                   pgdg10 
postgresql-upgrade.i686                      10.6-1.fc29                 updates
postgresql-upgrade.x86_64                    10.6-1.fc29                 updates
postgresql-upgrade-devel.i686                10.6-1.fc29                 updates
postgresql-upgrade-devel.x86_64              10.6-1.fc29                 updates
postgresql10-contrib.x86_64                  10.6-1PGDG.f29              pgdg10 
postgresql10-devel.x86_64                    10.6-1PGDG.f29              pgdg10 
postgresql10-docs.x86_64                     10.6-1PGDG.f29              pgdg10 
postgresql10-odbc.x86_64                     11.00.0000-1PGDG.f29        pgdg10 
postgresql10-plperl.x86_64                   10.6-1PGDG.f29              pgdg10 
postgresql10-plpython.x86_64                 10.6-1PGDG.f29              pgdg10 
postgresql10-plpython3.x86_64                10.6-1PGDG.f29              pgdg10 
postgresql10-pltcl.x86_64                    10.6-1PGDG.f29              pgdg10 
postgresql10-tcl.x86_64                      2.4.0-2.f29.1               pgdg10 
postgresql10-test.x86_64                     10.6-1PGDG.f29              pgdg10 
postgresql_anonymizer10.noarch               0.2.1-1.f29                 pgdg10 
postgresql_autodoc.noarch                    1.41.1-1.f29.1              pgdg10 

Dernière modification par joshw (Hier 17:04:39)

Hors ligne

#19 Hier 17:13:53

joshw
Membre

Re : Suggestion

Ën regardant la liste fournie par "dnf", je ne suis pas si sûr que la version "devel" soit bien installée
paquet dispo parle de "devel".

J'ai suivi cette : procédure d'installation
En choississant, Fedora 29, version 10 de postgresql, x86_64

Hors ligne

#20 Hier 17:34:55

joshw
Membre

Re : Suggestion

Entre temps, j'ai installé ce paquet :

[root@localhost ~]# dnf list postgresql-devel
Dernière vérification de l’expiration des métadonnées effectuée il y a 1:19:52 le mar 11 déc 2018 15:11:38 CET.
Paquets installés
postgresql-devel.x86_64                                                 10.6-1.fc29                                                 @updates
Paquets disponibles
postgresql-devel.i686                                                   10.6-1.fc29

mais je ne sais pas si je dois aussi installé le ".i686", est-ce un complément ou est-ce pour une autre architecture hardware ?

Hors ligne

#21 Hier 17:40:01

gleu
Administrateur

Re : Suggestion

Ce n'est pas ce paquet qui doit être installé, mais postgresql10-devel.

Hors ligne

#22 Hier 17:53:37

joshw
Membre

Re : Suggestion

Pour info,

J'ai installé la bonne version et désinstallé l'autre.

[root@localhost ~]# dnf list postgresql*
Dernière vérification de l’expiration des métadonnées effectuée il y a 1:38:43 le mar 11 déc 2018 15:11:38 CET.
Paquets installés
postgresql-libs.x86_64                       10.6-1.fc29                @updates
postgresql10.x86_64                          10.6-1PGDG.f29             @pgdg10 
postgresql10-devel.x86_64                    10.6-1PGDG.f29             @pgdg10 
postgresql10-libs.x86_64                     10.6-1PGDG.f29             @pgdg10 
postgresql10-server.x86_64                   10.6-1PGDG.f29             @pgdg10 

N'y a-t-il pas un service que je dois démarrer avec "systemctl" ?

Dernière modification par joshw (Hier 17:54:23)

Hors ligne

#23 Hier 18:15:17

gleu
Administrateur

Re : Suggestion

Il faut créer l'instance et démarrer le serveur en effet. La partie Post-Installation de https://www.postgresql.org/download/linux/redhat/

Hors ligne

#24 Hier 18:45:53

joshw
Membre

Re : Suggestion

Peut-être que je confond, mais pour :

postgresql10
postgresql10-server

# A n'exécuter qu'une seule fois
/usr/pgsql-10/bin/postgresql-10-setup initdb
#Pour que le serveur soit démarrer à  chaque démarrage
systemctl enable postgresql-10
#Pour démarrer le serveur manuellement
systemctl start postgresql-10

Pour le "post-installation"
Si j'encode :

[root@localhost ~]# postgresql-setup initdb
bash: postgresql-setup: commande inconnue...
Voulez-vous installer le paquet « postgresql-server » qui fournit la commande « postgresql-setup » ? [N/y] n

J'en déduis que cette commande correspond à initialiser la DB de la version de postgresql à partir du chapître "Included in Distribution"
Et donc pour la version postgresql10-devel, n'y a-t-il pas une autre commande à exécuter car, la commande make ne fonctionne toujours pas :

[toto@localhost tutorial]$ pwd
/home/toto/Postgresql/postgresql-10.6/src/tutorial
[toto@localhost tutorial]$ make
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -I. -I./ -I/usr/pgsql-10/include/server -I/usr/pgsql-10/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o complex.o complex.c
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
make: *** [<commande interne>: complex.o] Error 1
[baghou@localhost tutorial]$ 

A moins qu'il faille ajouter encore un répertoire dans le PATH ?

Dernière modification par joshw (Hier 18:47:26)

Hors ligne

#25 Hier 18:52:49

dverite
Membre

Re : Suggestion

Il y a un risque de confusion dans ce que vous faites, parce que vous jouez sur 2 tableaux: la compilation des sources d'un côté, qui est faisable complètement indépendamment des paquets précompilés, et de l'autre côté l'installation des paquets précompilés pour Fedora.

Le Makefile du répertoire tutorial a ces explications en tête de fichier:

#-------------------------------------------------------------------------
#
# Makefile--
#    Makefile for tutorial
#
# By default, this builds against an existing PostgreSQL installation
# (the one identified by whichever pg_config is first in your path).
# Within a configured source tree, you can say "make NO_PGXS=1 all"
# to build using the surrounding source tree.
#
# IDENTIFICATION
#    src/tutorial/Makefile
#
#-------------------------------------------------------------------------

Donc après avoir compilé les sources de postgresql, c'est-à-dire essentiellement
1) téléchargé les sources
2) fait un ./configure avec succès à la racine de ces sources
3) fait un make qui s'est terminé aussi avec succès toujours à la racine

On peut aller dans src/tutorial, et lancer:

 make NO_PGXS=1 all

et ça va compiler avec succès le tutoriel.

Cette démarche est dans la logique que les sources sont auto-suffisantes. Ca ne veut pas dire que vous ne devez pas aussi installer postgresql-devel ou d'autres paquets pour ce que vous voulez faire par ailleurs, mais il y a une séparation nette entre ce qui est nécessaire pour compiler PostgreSQL et ce qui est nécessaire pour compiler votre propre projet lié à PostgreSQL sous Fedora.

Hors ligne

Pied de page des forums