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;"
    3
    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
      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.
        0
        1. Contributeur
          hello
          essaye
          su - -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;" postgres
          0
          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
            0
            1. Contributeur
              pourquoi -su ?
              essaye :
              su -c id postgres
              0
              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
                0
                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)
                  0
                  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
                    0
                    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;"
                      0
                      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
                        0
                    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
                      0
                      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"
                        0
                        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
                          0
                          1. Contributeur
                            essayer
                            su - postgres -c "psql -c \"SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' kinzo;\""
                            0
                            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;
                              0
                              1. Essaye
                                #!/bin/sh

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