¿Ejecutó la instrucción como superusuario? en psql y como otro usuario a través de JDBC?
El manual nos dice
:
Tu puedes eluda esta restricción envolviendo la instrucción en una función con SECURITY DEFINER
propiedad de un superusuario. Tenga en cuenta los riesgos de seguridad . También es posible que desee REVOKE
todos los derechos del público y solo GRANT
a los usuarios seleccionados. Podría verse así:
CREATE OR REPLACE FUNCTION foo()
RETURNS void AS
$BODY$
COPY data_1
FROM E'C:\\Users\\Abhishek\\Desktop\\data1.csv'
USING delimiters ',';
$BODY$
LANGUAGE sql VOLATILE SECURITY DEFINER
SET search_path = public, pg_temp; -- or whatever schema the table is in
REVOKE ALL ON FUNCTION foo() FROM public;
GRANT SELECT ON FUNCTION foo() TO my_user;
Además, tenga en cuenta que la sintaxis adecuada para las cadenas de escape es:
E'C:\\Users\\Abhishek\\Desktop\\data1.csv'
Tenga en cuenta el E'...'
.
A partir de la versión 9.1, la configuración standard_conforming_strings
está activado de forma predeterminada, haciendo cumplir esto.