Re: How to use search_path in CASE
От | Lennart Ripke |
---|---|
Тема | Re: How to use search_path in CASE |
Дата | |
Msg-id | 43B631B7D85C9041AE58B7834DFF6A751F2299@server.Auto.local обсуждение исходный текст |
Ответ на | Re: How to use search_path in CASE (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: How to use search_path in CASE
|
Список | pgsql-novice |
Hello Tom, If I rethink schema design I'm concerned about performance: There will be about 100thousand lines in each foo table. I hopedperformance will be better with separate tables rather than a single one. Do you have any suggestions/experience onthis? Best regards, Lennart -----Ursprüngliche Nachricht----- Von: Tom Lane [mailto:tgl@sss.pgh.pa.us] Gesendet: Freitag, 2. Juli 2010 08:25 An: Lennart Ripke Cc: pgsql-novice@postgresql.org Betreff: Re: [NOVICE] How to use search_path in CASE "Lennart Ripke" <l.ripke@automationwr.de> writes: > I have a database with 6 schemas (named schema1 to schema6), each > contains a table 'foo'. I want to insert testvalues into these tables > using a plpgsql function. > I learned you can't use SET search_path (or SET LOCAL) in a CASE > structure because the function is using the current search path , which > does only change at session scope. > But how to accomplish this task? 1. Rethink that schema design. It seems pretty poorly chosen. A rule of thumb is that N identical tables should be replaced by 1 table with one more primary-key column. A design with N identical tables in N schemas might make sense if you typically only need to access one schema at a time, but that isn't your requirement. or... 2. Do something like CASE s WHEN 1 THEN INSERT INTO schema1.foo ... WHEN 2 THEN INSERT INTO schema2.foo ... etc regards, tom lane
В списке pgsql-novice по дате отправления: