在 PHP 中导出 PSQL table

Export a PSQL table in PHP

我在 psql 中有一种语言 table 看起来像这样。


我的目标是导出我的 languages table 并使用 PHP.

导入它

我试过了

PHP

导出

shell_exec('psql -E -U postgres -d portal -c "COPY languages TO \'/Applications/MAMP/htdocs/code/site/portal/public/csv/languages.csv\' DELIMITER \',\' "');

我的 languages.csv 导出成功了。

如果我打开它,它包含这个。

1,h,Advanced Settings,Geavanceerde instellingen,Ajustes avanzados,Réglages avancés,2016-11-23 14:41:25,2016-11-23 14:41:25

我的目标是让我的 .csv 完全采用这种格式

1,'h','Advanced Settings','Geavanceerde instellingen','Ajustes avanzados','Réglages avancés','2016-11-23 14:41:25','2016-11-23 14:41:25'

因为只有 格式才能 接受 psql


问题

如何调整我的 psql 命令来获得它?

使用 PHP 更新它是我唯一的选择?

看起来 COPY 上的 FORCE_QUOTE 选项可以使用要换行的列列表。看这里:SQL COPY

FORCE_QUOTE { ( column_name [, ...] ) | * }

这意味着您可以指定或它默认执行所有操作,您可能需要指定,因为您的 id 列未在您的示例中包含引号。