On Mon, Oct 05, 2009 at 06:07:44PM +0800, Chun-fan Ivan Liao wrote:
> I used pg_dump to dump the old database out and psql to store the database
> into the new server, but the following two errors occurred:
>
> ERROR: incompatible library "/lib/libc.so.6": missing magic block
> HINT: Extension libraries are required to use the PG_MODULE_MAGIC macro.
> STATEMENT: CREATE FUNCTION "system"(cstring) RETURNS integer
> AS '/lib/libc.so.7', 'system'
> LANGUAGE c STRICT;
Ok, here someone was cheating by invoking a system library function
directly. That's no longer supported. If you really want this you need
to make a small library with PG_MODULE_MAGIC; and a pg_system() function
that redirects to the real system().
That said, why are you doint this anyway. A better solution may be to
install a trusted language (like plperlu or plpython) and do the system
call from there.
> ERROR: value too long for type character varying(12)
> CONTEXT: COPY stulist, line 46803, column STU_CNAME: "??????(9debacdd)???"
> STATEMENT: COPY stulist ("COURSE_SN", "S_YEAR", "S_TERM", "COU_CODE",
> "CLASS", "REG_NO", "DPT_CODE", "DPT_SCNAME", "YEAR", "CREDIT", "COU_CNAME",
> "TEA_CODE", "TEA_CNAME", "STU_CNAME", "SCORE", "SCORE_A", "SERNO", "PANOPA",
> "UNIT", "TEMP") FROM stdin;
Here the column is defined as 12 characters and you're trying to
inserts a 19 character string, which is bad. How you got that out of
pg_dump though I don't know.
Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while
> boarding. Thank you for flying nlogn airlines.