Я бег этого утверждения в приложении Django:Копировать в Postgresql: Абсолютный путь Интерпретируется как относительный путь
c = connections['default'].cursor()
query="copy (select * from analysis.\"{0}\") to STDOUT DELIMITER ',' CSV HEADER;".format(view_name)
with open(csvFile,'w') as f:
c.copy_expert(query,f)
f.close()
Это не создает нужный файл CSV. Некоторые из значений отображаются в неправильных столбцах. Я пытаюсь проверить заявление SQL, запустив его в PostGreSQL:
copy (select * from analysis."S03_2005_activity_140807_153431_with_geom") to 'C:/djangoProjects/web_output/csvfiles/S03_2005_activity_140807_153431_with_geom.csv' DELIMITER ',' CSV HEADER;
Это дает мне: «ОШИБКА: относительный путь не позволил Копировать в файл». Я рассмотрел этот вопрос, и он, как правило, является одним из двух вопросов: 1. запутать '\' и '/'. Мои косые черты должны быть правильными. 2. Сервер находится на другом компьютере. Я думал, что это может быть моей проблемой, поскольку база данных находится на внешнем компьютере, но у меня есть связь в моем Postgresql. Он также работает от Django, поэтому я не уверен, почему он не работает с PG Admin.
Это * так * раздражает, что PgAdmin-III не поддерживает мета-команды psql; делает этот вопрос гораздо сложнее. «О, вы должны использовать другой клиент базы данных, чтобы сделать эту работу». Мех. OTOH, что связано с тем, что «psql» не используется в качестве библиотеки, что является проблемой в нем. –
Метод, который я использую в настоящее время, работает из моего приложения Django, и я получаю тот же результат, используя \ copy из psql. Мои данные по-прежнему не совпадают с правильными столбцами. Проблема в том, что один столбец имеет пустые ячейки. –
Тип данных столбца - геометрия. –