PostgreSQL Windows环境下file_fdw不存在,如何安装该扩展?
问题描述
在Windows笔记本上使用PostgreSQL 14.1读取CSV文件时,执行以下命令报错:
postgres=# CREATE SERVER fdw_files FOREIGN DATA WRAPPER file_fdw; ERROR: foreign-data wrapper "file_fdw" does not exist
已成功创建postgres_fdw扩展,且拥有扩展权限,但执行\dew命令仅显示postgres_fdw,未找到file_fdw。
解决方案
- 先创建
file_fdw扩展(该扩展为PostgreSQL原生自带,但不会默认启用,需手动加载):
CREATE EXTENSION file_fdw;
- 验证扩展是否加载成功:
\dew
此时外部数据包装器列表中应出现file_fdw条目。
3. 继续执行创建Server和外部表的命令:
CREATE SERVER fdw_files FOREIGN DATA WRAPPER file_fdw; -- 示例:创建匹配CSV结构的外部表(需根据实际CSV调整字段、路径和参数) CREATE FOREIGN TABLE csv_sample ( id INT, username TEXT, register_date DATE ) SERVER fdw_files OPTIONS ( filename 'C:/data/user_list.csv', format 'csv', header 'on', delimiter ',' );
注意事项
- Windows系统中CSV文件路径需使用正斜杠
/或双反斜杠\\,避免单反斜杠引发的转义错误。 - 确保PostgreSQL服务账号拥有目标CSV文件的读取权限。
内容的提问来源于stack exchange,提问作者Peter Krauss
相关产品推荐
相关产品推荐

