Обсуждение: BUG #5390: pg_dump does not check/include additional schema dependencies when writing schema/search path
BUG #5390: pg_dump does not check/include additional schema dependencies when writing schema/search path
От
"Timothy Seever"
Дата:
The following bug has been logged online: Bug reference: 5390 Logged by: Timothy Seever Email address: tim.seever@gmail.com PostgreSQL version: 8.3.5, others Operating system: Linux/RHEL5.2 Description: pg_dump does not check/include additional schema dependencies when writing schema/search path Details: To reproduce: 1. Create schema A 2. Create schema B 3. Create function in schema A which depends on something in schema B without specifying it (i.e. the connected user has B included in the search_path, and the function A.xyz() has something like val := yyz(); where yyz is actually B.yyz. 4. This works properly in place due to the search path... however upon dumping/restoring, pg_dump only specifies the single schema+public before each section, so it will fail to add A.xyz()/view/etc leading to cascaded missing items.
"Timothy Seever" <tim.seever@gmail.com> writes: > 1. Create schema A > 2. Create schema B > 3. Create function in schema A which depends on something in schema B > without specifying it (i.e. the connected user has B included in the > search_path, and the function A.xyz() has something like val := yyz(); > where yyz is actually B.yyz. > 4. This works properly in place due to the search path... however upon > dumping/restoring, pg_dump only specifies the single schema+public before > each section, so it will fail to add A.xyz()/view/etc leading to cascaded > missing items. This does not matter because the script is only defining the function not executing it. Or are you speaking of an index function or something like that? In that case it really behooves you to make the function not so sensitive to the caller's search path. There is no way that pg_dump can know that some function will only work as desired if called with a particular search_path setting. regards, tom lane