postgres into importar from exportar example ejemplo create windows postgresql csv

windows - into - Permiso denegado al intentar importar un archivo CSV de PGAdmin



postgresql copy format csv (6)

Estoy usando PGAdmin 1.14.3.

Cuando intento ejecutar un comando de importación:

COPY grad(country_code, postal_code, place_name, admin_name1, admin_code1, admin_name2, admin_code2, admin_name3, admin_code3, latitude, longitude, accuracy) FROM ''C://Users//denis//Desktop//BP2Project//USA//US.txt'';

Yo tengo un

ERROR: no se pudo abrir el archivo "C: / Users / denis / Desktop / BP2Project / USA / US.txt" para leer: Permiso de estado SQL denegado: 42501

Busqué otras preguntas similar y ninguna de ellas resolvió mi problema.

Inicié sesión como usuario "postgres" que es el superusuario. No veo por qué me faltan permisos. Estoy en Windows 7.


El artículo de permisos mencionado en la answer de y es un buen material de referencia, pero una respuesta directa (la solución rápida que utilicé) es:

  • Haga clic con el botón derecho en la carpeta que contiene los archivos de datos a los que se denegó el permiso y luego haga clic en Propiedades .
  • En la ventana Propiedades de la carpeta, seleccione la pestaña Seguridad .
  • Haga clic en el botón Editar .
  • En la ventana "Permisos para la carpeta" que se abrió, haga clic en el botón Agregar ...
  • Escriba Everyone en el cuadro de texto "Ingresar los nombres de objeto para seleccionar".
  • Haga clic en Aceptar y la ventana se cerrará.
  • Verifique que los permisos predeterminados de Lectura y Ejecución estén configurados en Permitir a través de la casilla de verificación de la ventana anterior.
  • Haga clic en Aceptar y la ventana se cerrará.
  • Haga clic en el botón Aplicar en la ventana Propiedades de la carpeta.

Ahora puede ejecutar la instrucción COPY de SQL que necesita acceder a esos archivos.

  • Una vez hecho esto, regrese a la ventana de Propiedades de la Carpeta.
  • Haga clic en el botón Editar .
  • Seleccione la entrada Everyone en el campo "Nombres de grupos o usuarios:".
  • Haga clic en el botón Eliminar .
  • Haga clic en Aceptar en las ventanas abiertas restantes.

Los permisos ahora se han devuelto a lo que eran.


El usuario Postgres debe tener acceso de lectura en el archivo desde el que está a punto de copiar.

Mire este artículo para ver cómo modificar el acceso de seguridad de archivos en Windows.


Las respuestas a este problema en diferentes hilos van más o menos así 1. "Dime exactamente qué comando usaste" 2. "Asegúrate de tener los permisos correctos" 3. "Solo usa / copia"

Intenté darle permisos a Todos en el archivo cvs del que estoy intentando copiar, y todavía me da el permiso de denegación de error. Creo que esta funcionalidad está rota y se ha roto para múltiples lanzamientos consecutivos en múltiples versiones consecutivas de Windows.


Ok, así es como funciona el comando COPY, para exportar una tabla a CSV, paso a paso. Por favor, tenga en cuenta que estoy usando pgAdmin 111.

  1. Cree la carpeta de destino a la que desea exportar una tabla. Por ejemplo, C: / myExports
  2. Establezca un permiso de lectura / escritura en esta carpeta siguiendo los pasos a continuación:

Haga clic con el botón derecho en la carpeta que contiene los archivos de datos cuyo permiso se denegó> en y luego haga clic en Propiedades.

En la ventana Propiedades de la carpeta, seleccione la pestaña Seguridad. Haga clic en el botón Editar.

En la ventana "Permisos para la carpeta" que se abrió, haga clic en el botón Agregar ... Escriba Everyone en el cuadro de texto "Ingresar los nombres de objeto para seleccionar".

Haga clic en Aceptar y la ventana se cerrará. Verifique que los permisos predeterminados de Lectura y Ejecución estén configurados en Permitir a través de la casilla de verificación> en la ventana anterior. Haga clic en Aceptar y la ventana se cerrará.

Haga clic en el botón Aplicar en la ventana Propiedades de la carpeta.

  1. Esta es la parte difícil, dentro de la carpeta de Mis exportaciones crea un archivo CSV en blanco con tu nombre deseado.Eg employee.csv

  2. A continuación, ejecute el comando Copiar de esta manera:

    copiar al empleado a ''C: / myExports / employee.csv'' delimitador '','' csv;

empleado es el nombre de la tabla en este ejemplo.

Espero que esto ayude.


Si no desea otorgar permisos a Todos, puede agregar permisos a la cuenta que inició el servicio. En el Panel de control - Herramientas administrativas - Servicios, copie el nombre de la cuenta en la pestaña ''Iniciar sesión''. (En mi sistema, la cuenta se llama ''Servicio de red''). Luego comparta la carpeta con el archivo CSV con este usuario como se muestra en la respuesta anterior.


para mí y acabo de pasar largas horas en esto. Tengo un db central que reside en un cuadro de HP que ejecuta 14.04 postgresql-9.5 pgAdmin3 postgis-2.2, las acciones se realizan a través de una cuota de Samba tweeked. Mis clientes están usando una mezcla de Windows 10.1, 7, 8.1 y tengo un escritorio ubuntu 14.04.

Estoy trabajando con tablas grandes actualizando registros y normalizando datos y construyendo las rutinas alrededor de sentencias SQL de archivos CSV que se hicieron desde el núcleo COPY public.table_1 TO (la carpeta compartida que configuré en Samba https://www.youtube.com/watch?v=ndAYZ0DJ-U4 ) ''/srv/samba/share/[nombre de archivo].csv''

Luego puedo actualizar la base de datos una vez que las tablas se hayan modificado con la tabla COPY_1 de ''/srv/samba/share/test.csv'' USANDO DELIMITERS '','' CON NULL AS '''' CSV HEADER; de cualquiera de mis clientes.

La clave, hasta donde he podido determinar, es que los clientes que realizan la actualización deben ser superusuarios, también todo debe estar vinculado en términos de usuarios, ya que hay 4 servidores trabajando juntos aquí Postgresql, Samba, UNIX y WINS Todos mis usuarios están registrados en cada uno de los servidores con el mismo nombre de usuario y contraseña, la homogeneidad es el factor principal.

Había intentado durante mucho tiempo mover cosas y probar varias convenciones de nombres, pero al final fue http://www.postgresql.org/message-id/CFF47E56EA077241B1FFF390344B5FC10ACB1C0C@webmail.begavalley.nsw.gov.au que me solucionó fue como un gran cambio al hacer clic en. chown 777 en sus recursos compartidos y la gestión del grupo fue una curva de aprendizaje importante, pero. Las horas que he gastado en esto cosecharán recompensas más adelante ... Amar a Ubuntu amando la vida y amando el espíritu de código abierto, pero que podría ser la privación del sueño pateando ... FUNCIONA