Bonjour,
Je suis en train d'essayer de remplir une table à partir d'un fichier afin de rendre accessible la manip' à tous, je désire passer par une page php/html.

Avant, j'allais dans la console psql, je tapais ma petite ligne de commande :
\COPY ma_table FROM 'mon_fichier.csv';

J'essaye de refaire cette ligne en PHP et c'est là que ça coince.

Tout d'abord, voici mon formulaire HTML :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<form method='post' name='rsm02' enctype="multipart/form-data">
            <?php // echo form_rsm02(); ?>
            <input type="file" name="file">
            <br/><br/>
            <input type='submit' name='Submit' value='Envoyer'>
        </form>

Ensuite, le code PHP
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
        if (isset($_POST['Submit'])) {
            $file = $_FILES['file']['tmp_name'];
            echo $file . "<br/>";
            print_r($_FILES['file']);
 
            //insertion dans rsmind
            $conn = connec_base();
            pg_query($conn, "copy rsmind from '$file';");
        }
        ?>

Quand j'essaye avec "copy" tout simplement, j'ai le droit à :
ERROR: must be superuser to COPY to or from a file HINT: Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone...
Et quand j'essaye \copy :
ERROR: syntax error at or near "\" LINE 1: \copy rsmind from...
Je ne comprend pas cette histoire de stdout et stdin.

J'ai trouvé quelqu'un avec un problème similaire mais pas l'air d'avoir de solution http://bytes.com/topic/postgresql/answers/692405-syntax-copy-command .

Voila, en vous remerciant d'avance !
Bonne journée.