Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将列添加到现有表postgres_Sql_Postgresql - Fatal编程技术网

Sql 将列添加到现有表postgres

Sql 将列添加到现有表postgres,sql,postgresql,Sql,Postgresql,我在prod环境中创建了一个table1。我必须将列添加到现有的表1中。 我使用replace的create函数来创建具有适当ddl的表。 要添加列,我应该在prod机器上手动添加并更改ddl。 或者只更改ddl就可以了 谢谢据我所知,没有创建或替换表的语法。这只适用于函数或视图 使用altertabletable1 addnewcolumn{DATA\u TYPE}命令 你回答问题的方式让我觉得你使用了第三方数据库版本控制,比如liquibase。如果是这样的话,就不要使用初始的CREATED

我在prod环境中创建了一个table1。我必须将列添加到现有的表1中。 我使用replace的create函数来创建具有适当ddl的表。 要添加列,我应该在prod机器上手动添加并更改ddl。 或者只更改ddl就可以了


谢谢

据我所知,没有创建或替换表的语法。这只适用于函数或视图

使用
altertabletable1 addnewcolumn{DATA\u TYPE}
命令


你回答问题的方式让我觉得你使用了第三方数据库版本控制,比如liquibase。如果是这样的话,就不要使用初始的CREATEDDL,只需将其作为单独的更改添加。如果更改初始ddl,则只会影响新数据库。

谢谢您的回复,因此我将同时执行这两项操作。首先在prod machine的表1中添加列,然后更改ddl以包含新列。这就是你所说的“加布里埃尔·杜拉克”吗?那么您是在使用liquibase还是其他db版本控制工具?我使用的postgresql
ALTER TABLE
是一个DDL命令,所以我有点困惑,我的建议是在prod中运行
ALTER TABLE
,这样会添加列。还可以在要添加列的任何其他环境中运行相同的alter命令。如果您正在使用代码运行自动db部署,那么您需要使用ALTER命令添加新的变更集。请发布有问题的ddl函数以及要添加的列的详细信息