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

      dbname="test"
      username="test"
      psql $dbname $username << EOF
      SELECT * FROM test;
      EOF
      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. l'erreur est la suivante:
          ERREUR: la relation "agence" n'existe pas
          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. Contributeur
              essayer
              su - postgres -c "psql -c \"SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' kinzo;\""
              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. 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. 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. 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. 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. 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. 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. 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. Contributeur
                              hello
                              essaye
                              su - -c "psql -c SELECT nom_agence FROM AGENCE WHERE ville_agence = 'Paris' mabase;" postgres
                              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.