如何将具有相同列的多个表转换为postgress中的一个表

时间:2015-12-04 20:16:51

标签: postgresql psql pgadmin

我有一个Postgres数据库,它包含200个表,它们分别具有相同的列名和数据类型。我想将他们所有人加入一张桌子,我怎么能实现这个目标呢?

我有Postgres 9.4和pgAdmin设置。

1 个答案:

答案 0 :(得分:2)

如果表具有相同的列名和类型,则可以创建父表并安排所有其他表从父表继承。在此之后,父表上的查询将自动查询所有子表。

首先创建一个空父表,其定义与您已有的200个表相同。

然后,在200个表中的每一个表上使用 while (fscanf(...) == 4) { // do things with data } // after reading loop, determine why it ended if (feof(f)) { // end of file reached } else if (ferror(f)) { // error while reading } else { // fscanf failed, syntax error ? } ,使它们从父表继承。

ALTER TABLE

另见postgresql手册中的Inheritance