procedimientos linea funciones español datos consultas con comandos bases administración postgresql

linea - postgreSQL-psql / i: cómo ejecutar el script en una ruta determinada



linea de comandos postgresql (4)

¿Has probado usar barras de estilo de Unix (/ en lugar de /)?

/ a menudo es un carácter de escape o de comando, y puede ser la fuente de confusión. Nunca he tenido problemas con esto, pero tampoco tengo Windows, así que no puedo probarlo.

Además, los permisos pueden basarse en el usuario que ejecuta psql, o tal vez el usuario que está ejecutando el servicio postmaster, verifique que ambos hayan leído ese archivo en ese directorio.

Soy nuevo en postgreSQL y tengo una pregunta simple:

Intento crear un script simple que cree un DB para luego poder llamarlo así:

psql -f createDB.sql

Quiero que la secuencia de comandos llame a otras secuencias de comandos (por separado para crear tablas, agregar restricciones, funciones, etc.), así:

/i script1.sql /i script2.sql

Funciona bien siempre que createDB.sql esté en el mismo directorio .

Pero si muevo script2 a un directorio debajo del que tiene createDB, y modifico el createDB para que se vea así:

/i script1.sql /i somedir/script2.sql

Me sale un error:

psql: createDB.sql: 2: somedir: Permiso denegado

Estoy usando Postgres Plus 8.3 para Windows, usuario predeterminado de Postgres.

EDITAR:

Tonto, las barras unix resolvieron el problema.


Intenté esto y su funcionamiento en la máquina de Windows para ejecutar un archivo sql en un esquema específico.

psql -h localhost -p 5432 -U username -d databasename -v schema = schemaname <e: / Table.sql


Postgres comenzó en Linux / Unix. Sospecho que revertir la barra con arreglarlo.

/i somedir/script2.sql

Si necesitas calificar completamente algo

/i c:/somedir/script2.sql

Si eso no lo soluciona, mi próxima suposición sería que necesitas escapar de la barra invertida.

/i somedir//script2.sql


Prueba esto, yo trabajo para hacerlo

/i ''somedir//script2.sql''