On 5/21/20 8:29 AM, Israel Brewster wrote:
> I’m working on my first cloud service, which will be backed by a
> postgresql database. Currently I only have a single customer, but of
> course I want to design with the possibility of multiple customers in
> mind. In that vein, I’m wondering what is “typical” in terms of
> designing the DB structure to make sure that one customer doesn’t
> “accidentally" get data for another customer? At the moment I am leaning
> towards giving each customer their own set of tables, with a unique
> prefix for each. This would provide a “hard” separation for the data,
^^^^^^^^^^^^ I think that is called a schema:)
Or set up a separate database for each in the cluster.
> but would also increase maintenance efforts, as if I needed to add a
> field I would have to add it to every table. On the other hand, keeping
> everything in the same set of tables would mean having to be VERY
> careful with my SQL to make sure no customer could access another’s data.
>
> How is this typically done?
>
> ---
> Israel Brewster
> BrewsterSoft Development
> http://www.brewstersoft.com <http://www.brewstersoft.com/>
> Home of EZPunch and Lyrics Presenter
>
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com