Script shell avec SQL (postgresql)

Résolu
Bonjour, cher amateur de Linux
J'aimerais mettre en place un script shell qui me avec postgres à la base de données et insérer une Requete SQL pour postgresql. Si vous pouviez m'aider s'il vous plait, c'est urgent
Je vous remercie d'avance
Au revoir
Configuration: Windows Vista
Firefox 3.5.7

19 réponses

  1. Contributeur
    essaye
    su - -c "psql -V" postgres
    su - postgres -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;"
    1. Voila ce que j'ai entré dans mon script:

      #!/bin/bash
      #---------Script Pour Linux---------
      #Le 08/01/2010 par Kikilinux

      su postgres
      psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;

      Le problème est que la requête ne s'execute pas.
      1. Contributeur
        hello
        essaye
        su - -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;" postgres
        1. Merci dubcek mais ça me met commande introuvable

          root@ubuntu:/home/ubuntu# ./script1.sh
          ./script1.sh : line 5: -su - -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;" postgres; : commande introuvable
          1. non j'ai mal recopier mais g bien tapéé la commande que vous m'avez dit.
            J'essaye su -c id postgres et je vous dis ca... merci
            1. Voila ce que ça me donne:

              root@ubuntu:/home/ubuntu# ./script1.sh
              uid=111(postgres) gid=121(postgres) groupes=108(ssl-cert), 121(postgres)
              1. g tapé la commande suivante:

                #!/bin/bash
                #------Scipt------

                su --c "psql -V postgres SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' kinzo;"

                et voila le résultat:

                root@ubuntu:/home/ubuntu# ./script1.sh
                psql (PostgreSQL) 8.3.1
                contient une gestion avancée de la ligne de commande
                1. Contributeur
                  essaye
                  su - -c "psql -V" postgres
                  et après
                  su - postgres -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;"
                  1. J'ai réussi à me connecter à la base de données mais la requête ne s'execute pas
                    Pouvez vous m'aider s'il vous plait
                2. j'ai mis dans mon script ça:

                  #!/bin/bash
                  #------Scipt------

                  su --c "psql -V postgres
                  su - postgres -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' kinzo;"

                  voila le résultat :

                  root@ubuntu:/home/ubuntu# ./script1.sh
                  psql (PostgreSQL) 8.3.1
                  contient une gestion avancée de la ligne de commande
                  1. j 'ai encore une erreur:

                    psql : attention : option supplémentaire " AGENCE " ignorée
                    psql : attention : option supplémentaire " WHERE " ignorée
                    psql : attention : option supplémentaire " ville_agence " ignorée
                    psql : attention : option supplémentaire " = " ignorée
                    psql : attention : option supplémentaire " Paris " ignorée
                    psql : attention : option supplémentaire " kinzo " ignorée
                    psql: FATAL: authentification Ident échouéee pour l'utilisateur " FROM"
                    1. En tapant ça j'ai réussi à me connecter à la base de données:

                      #!/bin/bash
                      #------Scipt------

                      su - postgres -c "psql -d kinzo"

                      Il me manque plus qu'à executer la requête
                      1. Contributeur
                        essayer
                        su - postgres -c "psql -c \"SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' kinzo;\""
                        1. ça me met :

                          root@ubuntu:/home/ubuntu# ./script1.sh
                          ERREUR: erreur de syntaxe sur ou près de " kinzo "
                          LINE 1: ...CT nom_agence FROM AGENCE WHERE ville_agence = 'Paris'kinzo;
                          1. l'erreur est la suivante:
                            ERREUR: la relation "agence" n'existe pas
                            1. J'ai réusssii!!!! Merci pour votre aide dubcek !!

                              Voila la solution :

                              #!/bin/bash
                              #------Script Base de données PostGreSQL--------
                              #------2010-------

                              su - postgres -c "psql -c \"SELECT * FROM AGENCE WHERE ville_agence = 'Paris';\" mabase"
                              1. Essaye
                                #!/bin/sh

                                dbname="test"
                                username="test"
                                psql $dbname $username << EOF
                                SELECT * FROM test;
                                EOF