[Gfoss] importazione *sql

Ciao, una domanda forse banale:

ho uno script sql da circa 10mb (tutti i comuni della mia regione) che devo importare in postgis tramite la shell.

una volta loggato come utente postgres ho lanciato il comando:

psql -d nomedeldb -f /path/del/mio/file.sql

ma ho ottenuto una tabella vuota, seppur con tutti i campi al proprio posto.
Lo stesso accade se utilizzo il comando psql interno corrispondente:

nomedeldb# \i /path/del/mio/file.sql;

ho assegnato tutti i privilegi sul db (grant all) anche all'utente postgres con il quale eseguo i comadi in psql ma non fa differenza.
Qualche suggerimento?

Alessio Di Lorenzo ha scritto:

Ciao, una domanda forse banale:

ho uno script sql da circa 10mb (tutti i comuni della mia regione) che devo importare in postgis tramite la shell.

una volta loggato come utente postgres ho lanciato il comando:

psql -d nomedeldb -f /path/del/mio/file.sql

ma ho ottenuto una tabella vuota, seppur con tutti i campi al proprio posto.
Lo stesso accade se utilizzo il comando psql interno corrispondente:

nomedeldb# \i /path/del/mio/file.sql;

ho assegnato tutti i privilegi sul db (grant all) anche all'utente postgres con il quale eseguo i comadi in psql ma non fa differenza.

Questo non ti serve. L'utente postgres e' superutentissimo e scrive dove vuole.

Qualche suggerimento?

Guarda cosa ti scrive nel log degli errori. Magari c'e' qualche errore nel file sql che non permette l'inserimento.

il log e' in var/log/postgresql/postgresql-8.2-main.log (verifica la versione di pg che hai)

Puoi anche dare da riga di comando:

tail -f /var/log/postgresql/postgresql-8.2-main.log > /path/errori_importazione_sql.txt

cosi' comincia a salvarti gli errori del file di log in un file tuo

poi lanci il tuo comando di importazione del file sql (da un'altra shell perche' questa ti rimane appesa fino a che non dai control+c per chiudere il salvataggio del log sul tuo file)

e poi guardi cosa ti ha scritto sul file creato e, se non lo capisci, provi a mandarci i primi messaggi di errore.

Ho scritto di fretta per cui non so se sono stata chiara, spero di si'

ciao
lia

--
Emilia Venturato
email+jabber: venturato@faunalia.it
www.faunalia.it
Tel: (+39) 347-2770007 Tel+Fax: (+39) 0587-213742
Piazza Garibaldi 5 - 56025 Pontedera (PI), Italy
http://www.faunalia.it/ev

Grazie lia,

nel frattempo ho risolto con l'opzione -a

psql -d dbname -a -f /path/file.sql

ciao

Guarda cosa ti scrive nel log degli errori. Magari c'e' qualche errore nel file sql che non permette l'inserimento.

il log e' in var/log/postgresql/postgresql-8.2-main.log (verifica la versione di pg che hai)

Puoi anche dare da riga di comando:

tail -f /var/log/postgresql/postgresql-8.2-main.log > /path/errori_importazione_sql.txt

cosi' comincia a salvarti gli errori del file di log in un file tuo

poi lanci il tuo comando di importazione del file sql (da un'altra shell perche' questa ti rimane appesa fino a che non dai control+c per chiudere il salvataggio del log sul tuo file)

e poi guardi cosa ti ha scritto sul file creato e, se non lo capisci, provi a mandarci i primi messaggi di errore.

Ho scritto di fretta per cui non so se sono stata chiara, spero di si'

ciao
lia