我正在将此Oracle命令迁移到PostgreSQL:
def get_images(directory=None):
image_list = []
file_list = []
if directory == None:
directory = os.getcwd()
请向我建议如何迁移上述命令。
答案 0 :(得分:0)
您不需要同义词。
有两种方法:
使用架构搜索路径:
ALTER DATABASE xyz SET search_path = schema1, schema2, ...;
将用于保存表格的模式放在数据库(或用户)的search_path
上,然后可以在没有模式限定的情况下使用它。
使用视图:
CREATE VIEW dest_schema.tab AS SELECT * FROM source_schema.tab;
如果在同一模式中对象有很多同义词,则第一种方法很好。
答案 1 :(得分:0)
PostgreSQL不支持SYNOSYM或ALIAS。同义词是Microsoft SQL 2005(我认为)实现的非SQL 2003功能。尽管确实提供了有趣的抽象,但是由于缺乏关系完整性,可以将其视为一种风险。
也就是说,您可以创建一个同义词,并将其发布给您的程序员,并围绕它编写代码,包括存储过程,然后有一天该同义词(或链接或指针)的后端将被更改/删除/以此类推。运行时错误。我什至不认为预备会抓住这一点。
它与UNIX中的符号链接和C / C ++中的空指针的陷阱相同。
但是创建一个数据库视图,只要它只包含一个表选择,它就已经可以更新。
CREATE VIEW schema_name.synonym_name AS SELECT * FROM schema_name.table_name;