Azure PostgreSQL导入PostGIS备份遇允许列表错误,如何解决?
解决Azure PostgreSQL导入备份时PostGIS扩展不允许的问题
问题原因
错误提示明确说明azure_pg_admin用户不在PostGIS扩展的允许列表中,这是Azure PostgreSQL的权限限制导致的,和你设置的postgis.gdal_enabled_drivers参数无关。
解决步骤
- 创建专用超级用户
Azure PostgreSQL自带的azure_pg_admin并非完全权限的超级用户,需要手动创建一个拥有扩展管理权限的用户:CREATE ROLE custom_superuser WITH LOGIN PASSWORD 'YourStrongPassword123'; ALTER ROLE custom_superuser WITH SUPERUSER; - 切换新用户执行导入
使用刚创建的超级用户连接数据库,再执行备份导入命令:psql -h your-server-name.postgres.database.azure.com -U custom_superuser@your-server-name -d target_database -f E:/PostgreSqlBackups/WeatherDb/weatherDb_11_08_2023.sql - (可选)提前预创建PostGIS扩展
如果备份文件里包含创建PostGIS的语句,可先通过新超级用户手动创建扩展,避免导入时重复执行报错:CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; -- 若备份中包含拓扑相关内容则执行
注意事项
- 新用户的密码需符合Azure PostgreSQL的密码复杂度要求(长度至少8位,包含大小写字母、数字和特殊字符)
- 导入完成后可根据实际需求调整用户权限,避免长期使用超级用户操作数据库
内容的提问来源于stack exchange,提问作者Igor Gavrilov
相关产品推荐
相关产品推荐

