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. 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. 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. Essaye
                              #!/bin/sh

                              dbname="test"
                              username="test"
                              psql $dbname $username << EOF
                              SELECT * FROM test;
                              EOF
                              1. l'erreur est la suivante:
                                ERREUR: la relation "agence" n'existe pas