PostgreSQL 11:如何修改 ;模式**如果 ;存在**也重命名…`
上下文PostgreSQL 11:如何修改 ;模式**如果 ;存在**也重命名…`,postgresql,database-schema,Postgresql,Database Schema,上下文 我正在编写一个(Python)脚本来自动(重新)在PostgreSQL 11.2数据库上从头开始创建模式foo 我希望我的脚本能够处理以下两种情况: 我的数据库中已存在名为foo的架构 我的数据库中没有名为foo的架构 问题 我不是很勇敢,我宁愿保留这个已经存在的模式的副本,而不是简单地删除模式(如果存在foo) 但是,命令ALTER SCHEMA IF EXISTS foo重命名为foo_backup_2019-07-29T1317210不存在: # ALTER SCHEMA IF
我正在编写一个(Python)脚本来自动(重新)在PostgreSQL 11.2数据库上从头开始创建模式
foo
我希望我的脚本能够处理以下两种情况:
- 我的数据库中已存在名为
的架构foo
- 我的数据库中没有名为
的架构foo
我不是很勇敢,我宁愿保留这个已经存在的模式的副本,而不是简单地
删除模式(如果存在foo)代码>
但是,命令ALTER SCHEMA IF EXISTS foo重命名为foo_backup_2019-07-29T1317210代码>不存在:
# ALTER SCHEMA IF EXISTS foo RENAME TO foo_backup_2019-07-29T1317210;
ERROR: syntax error at or near "EXISTS"
LINE 1: ALTER SCHEMA IF EXISTS foo RENAME TO foo_backup_2019-07-29T1...
问题
在我的数据库中已经存在这样的模式的情况下,如何重命名foo
如果中存在alter schema
修改alter schema
语句,则不存在alter schemapostgre@Y.K.你是对的,这就是为什么我要问这个问题:如果存在,如何模拟改变模式?我认为已经有了一些很好的答案……如果存在alterschema
修改alterschema
语句,那么就没有alterschema了postgre@Y.K.你是对的,这就是为什么我要问这个问题:如果存在,如何模拟改变模式?我想已经有一些很好的答案了。。。