PostgreSQL在创建数据库时自动创建函数

时间:2017-04-18 19:28:13

标签: sql postgresql

我有一个要求,我必须在PostgreSQL服务器中为每个登录用户创建一个新数据库。因此每个用户有1个数据库。 此外,该数据库将具有几个将被调用的自定义函数。 我想在创建数据库后立即自动创建自定义函数的过程。因此,我不必明确地在每个数据库中执行该函数。

这可能吗?

1 个答案:

答案 0 :(得分:1)

来自docs

  

CREATE DATABASE实际上是通过复制现有数据库来实现的。通过   默认情况下,它复制名为template1的标准系统数据库。从而   该数据库是"模板"从中创建新数据库。如果   您将对象添加到template1,这些对象将被复制到   后来创建了用户数据库此行为允许站点本地   修改数据库中的标准对象集。对于   例如,如果在template1中安装过程语言PL / Perl,   它将自动在用户数据库中可用而无需任何额外的   创建这些数据库时采取的行动。

所以你可以创建"默认" template1 db中的对象和" clone"它。或者您可以在示例数据库中创建所有需要的关系(表,函数等),然后" clone"它与

create database new_db with template sample_db;

您可以使用不同的"默认"创建多个模板数据库。预先创建的对象,只是"克隆"他们根据需要。

阅读上述有关限制等的文档。

<强>更新 Adding Postgres Objects to Template1将告诉您如何使用pgadmin

执行此操作