Re: [PATCHES] ALTER TABLE ... SET TABLESPACE
| От | Mark Kirkwood |
|---|---|
| Тема | Re: [PATCHES] ALTER TABLE ... SET TABLESPACE |
| Дата | |
| Msg-id | 40D66CD2.1040107@coretech.co.nz обсуждение исходный текст |
| Ответ на | Re: [PATCHES] ALTER TABLE ... SET TABLESPACE (Gavin Sherry <swm@linuxworld.com.au>) |
| Список | pgsql-hackers |
I don't know if this provides any more info than you already have - but is my last few lines from a single process backend run with valgrind : ==19666== Syscall param write(buf) contains uninitialised or unaddressable byte(s) ==19666== at 0x404D94F8: __GI___libc_write (in /lib/libc-2.3.2.so) ==19666== by 0x80934F8: XLogFlush (xlog.c:1414) ==19666== by 0x8090723: RecordTransactionCommit (xact.c:550) ==19666== by 0x8090BC0: CommitTransaction (xact.c:931) ==19666== Address 0x4219236A is not stack'd, malloc'd or free'd backend> 1: oid (typeid = 26, len = 4, typmod = -1, byval = t) 2: nspname (typeid = 19, len = 64, typmod= -1, byval = f) 3: relname (typeid = 19, len = 64, typmod = -1, byval = f) ---- ==19666== ==19666== Invalid write of size 4 ==19666== at 0x8109B00: DLMoveToFront (dllist.c:237) ==19666== by 0x81B2EB5: SearchCatCache (catcache.c:1155) ==19666== by 0x81B7D72: GetSysCacheOid (syscache.c:606) ==19666== by 0x81B8C7A: get_relname_relid (lsyscache.c:879) ==19666== Address 0xCC3D5C04 is not stack'd, malloc'd or free'd Segmentation fault Gavin Sherry wrote: >On Sun, 20 Jun 2004, Tatsuo Ishii wrote: > > > >>>>Attached is a patch implementing this functionality. >>>> >>>>I've modified make_new_heap() as well as swap_relfilenodes() to not assume >>>>that tablespaces remain the same from old to new heap. I thought it better >>>>to go down this road than introduce a lot of duplicate code. >>>> >>>> >>>I have tried your patches and it works great. Thanks. >>> >>>One thing I noticed was if I change tablespace for a table having >>>indexes, they are left in the old tablespace and the table itself was >>>moved to the new tablespace. I regard this is a good thing since I >>>could assign different table spaces for table and indexes. >>>It would be even better to assign different tablespaces for each >>>index. >>> >>> >>Hm. It seems there's a problem with tablespaces. What I did was: >> >>pgbench -i test >>alter table accounts set tablespace mydb2; >>\d accounts >> >>backend crashes by signal 11... >> >> > > >
В списке pgsql-hackers по дате отправления: