Re: Table partitioning for cloud service?
От | Adrian Klaver |
---|---|
Тема | Re: Table partitioning for cloud service? |
Дата | |
Msg-id | 5066cca9-51ca-f65c-71ca-29e867fb1494@aklaver.com обсуждение исходный текст |
Ответ на | Re: Table partitioning for cloud service? (Israel Brewster <israel@brewstersoft.com>) |
Ответы |
Re: Table partitioning for cloud service?
|
Список | pgsql-general |
On 5/21/20 8:53 AM, Israel Brewster wrote: >> On May 21, 2020, at 7:36 AM, Adrian Klaver <adrian.klaver@aklaver.com >> <mailto:adrian.klaver@aklaver.com>> wrote: >> >> 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:) > > Ok. That’s probably an option. Although it looks from a cursory perusal > that for that to work, I would have to have separate DB users with > different permissions. Which would be fine, except that I don’t have > permissions to create users. > >> Or set up a separate database for each in the cluster. > > Same as above - no permissions. > > At the moment, I am running on Heroku, which gives me a postgresql > database, but not full control over the cluster. I may need to move to > something more robust, if having completely separate databases is the > best option. I was hoping to avoid SysAdmin stuff as much as possible, > and focus on the software side, but obviously some sys admin is required. You can't use this?: https://devcenter.heroku.com/articles/heroku-postgresql-credentials > > --- > Israel Brewster > BrewsterSoft Development > http://www.brewstersoft.com > Home of EZPunch and Lyrics Presenter > >> >>> 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 <mailto:adrian.klaver@aklaver.com> >> > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: