我得到超级用户访问权限错误,当我试图生成的dat文件使用postgresql过程。
我在postgresql程序中遇到一个问题。我以前用的是Oracle DB。在那里我创建了一个从表中获取值的过程,并使用UTL_FIlE生成.dat文件。在postgresql中,UTL FILE不支持,这就是为什么我在过程中使用COPY TO函数来写入或生成dat文件。在这种情况下,我得到超级用户权限错误。
我得到超级用户访问权限错误,当我试图生成的dat文件使用postgresql过程。
我在postgresql程序中遇到一个问题。我以前用的是Oracle DB。在那里我创建了一个从表中获取值的过程,并使用UTL_FIlE生成.dat文件。在postgresql中,UTL FILE不支持,这就是为什么我在过程中使用COPY TO函数来写入或生成dat文件。在这种情况下,我得到超级用户权限错误。
1条答案
按热度按时间yizd12fk1#
由于
COPY TO
在数据库服务器上写入文件,因此您需要高权限:用户必须是超级用户或pg_write_server_files
角色的成员。另一种编写文件的方法是用PL/Python或PL/PerlU或其他“不受信任”的服务器过程语言创建函数。但是你需要一个超级用户来创建这样的函数。