[HACKERS] pg_migrator issue with contrib
I've been kicking the tires on this a bit, and I've found an issue when dealing with contrib/ (specifically dblink, although I haven't looked around anymore). dblink_current_query() is not in the 8.4 version - when I run pg_migrator on an 8.3 cluster that has dblink installed, I get the following: Restoring database schema psql:/home/postgres/pg_migrator_dump_db.sql:271: ERROR: could not find function dblink_current_query in file /opt/dbs/pgsql84-beta2/lib/dblink.so There were problems executing /opt/dbs/pgsql84-beta2/bin/psql --set ON_ERROR_STOP=on --port 5432 -f /home/postgres/pg_migrator_dump_db.sql --dbname template1 /dev/null pg_migrator exits leaving me with a corrupted 8.3 instance. At the very least, a mention in the documentation of incompatible contrib module(s) would be nice. Even better would be a sanity check added to prevent this. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] pg_migrator issue with contrib
On Fri, 2009-06-05 at 15:50 -0400, Bruce Momjian wrote: Brad Nicholson wrote: I've been kicking the tires on this a bit, and I've found an issue when dealing with contrib/ (specifically dblink, although I haven't looked around anymore). dblink_current_query() is not in the 8.4 version - when I run pg_migrator on an 8.3 cluster that has dblink installed, I get the following: Restoring database schema psql:/home/postgres/pg_migrator_dump_db.sql:271: ERROR: could not find function dblink_current_query in file /opt/dbs/pgsql84-beta2/lib/dblink.so There were problems executing /opt/dbs/pgsql84-beta2/bin/psql --set ON_ERROR_STOP=on --port 5432 -f /home/postgres/pg_migrator_dump_db.sql --dbname template1 /dev/null Yep, pg_migrator will exit on any restore error. This really relates to the problem of how we handle /contrib schema migration from one release to the other. Good thing you posted to hackers because that is really the group that can address this. pg_migrator is really just restoring the schema that pg_dump is producing. pg_migrator exits leaving me with a corrupted 8.3 instance. When you say corrupted, I assume you mean you have remove the _old suffixes to restart your 8.3 instance, right? I hope that is the only corruption issue --- please confirm. Unfortunately no - when I try and start the old version, I get: pg_ctl -D pgsql83/ start postgres: could not find the database system Expected to find it in the directory /opt/DATA/pgsql83, but could not open file /opt/DATA/pgsql83/global/pg_control: No such file or directory I am specifying both new and old paths to pg_migrator, as I don't have my data directories in standard locations. Test case is pretty straight forward. Create an 8.3 instance Add dblink follow through the pg_migrator upgrade path try and start your 8.3 instance after the failure -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Enabling archive_mode without restart
On Fri, 2008-10-31 at 17:38 +0200, Peter Eisentraut wrote: Tom Lane wrote: Simon Riggs [EMAIL PROTECTED] writes: Objections? Why is this worth spending effort on? The addition of archive_mode changeable with restart only was a significant loss of usability going from 8.2 to 8.3, in the minds of many people. I put my hand up as one of those people. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Garbled postgres logs
On Tue, 2007-04-03 at 15:02 -0400, Tom Lane wrote: Tim Goodaire [EMAIL PROTECTED] writes: While going through some log files, we noticed that some of the log entries are garbled. For example: 2007-03-27 01:19:44.139 UTC [1761474] oxrsa aepp xx.xx.xx.xx LOG: duratio2007-03-n: 3751.27 01:19801 ms :44.139 statemenUTC [421940] oxrt: EXECUsor g aTE unnaepp 10.4med [P0.136.10REPARE: 8 LOG: select durationname fro: 3866.1m epp_do88 ms smain_dz_tatementnames wh: EXECUTere nameE unnam = $1] 2007-03-27 01:19:49.213 UTC [528480] oxrsa aepp xx.xx.xx.xx LOG: duration: 4510.129 ms statement: EXECUTE unnam2007-03-ed [PR27 01:19EPARE: :49 .213 select nUTC [294ame from930] oxr b_domsa aain_dz_nb 10.4ames whe0.136.10re name 7 LOG: = $1] We're seeing this in postgresql 8.1.8 on AIX 5.3. Also, even though we're using the same binaries for a bunch of clusters, we've only seen this issue on one of them. It looks like you've got messages from different backends being interleaved, which is surely not impossible but normally it only happens line-by-line at worst. This must have something to do with the buffering behavior on stderr. Perhaps the difference is caused by a difference in where the postmaster's stderr originally pointed --- was this postmaster started in a different fashion than the others? No. Standard init script was used to start all clusters. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 2: Don't 'kill -9' the postmaster
Re: [HACKERS] Index corruption
Tom Lane wrote: Marc Munro [EMAIL PROTECTED] writes: I'll get back to you with kernel build information tomorrow. We'll also try to talk to some kernel hackers about this. Some googling turned up recent discussions about race conditions in Linux NFS code: http://threebit.net/mail-archive/linux-kernel/msg05313.html http://lkml.org/lkml/2006/3/1/381 I don't know the kernel nearly well enough to guess if these are related ... It may or may not be the same issue, but for what it's worth, we've seen the same sl_log_1 corruption on AIX 5.1 and 5.3 -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 6: explain analyze is your friend
Re: [HACKERS] Index corruption
Brad Nicholson wrote: Tom Lane wrote: Marc Munro [EMAIL PROTECTED] writes: I'll get back to you with kernel build information tomorrow. We'll also try to talk to some kernel hackers about this. Some googling turned up recent discussions about race conditions in Linux NFS code: http://threebit.net/mail-archive/linux-kernel/msg05313.html http://lkml.org/lkml/2006/3/1/381 I don't know the kernel nearly well enough to guess if these are related ... It may or may not be the same issue, but for what it's worth, we've seen the same sl_log_1 corruption on AIX 5.1 and 5.3 On 7.4.12, I should add. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 4: Have you searched our list archives? http://archives.postgresql.org
Re: [HACKERS] Index corruption
Tom Lane wrote: Brad Nicholson [EMAIL PROTECTED] writes: It may or may not be the same issue, but for what it's worth, we've seen the same sl_log_1 corruption on AIX 5.1 and 5.3 Hm, on what filesystem, and what PG version(s)? I'm not completely satisfied by the its-a-kernel-bug theory, because if it were then ISTM extending an index would be subject to the same risks as extending a table; but I see no evidence of index page lossage in Marc's dump. OTOH the usage patterns are different, so maybe PG isn't stressing the write-to-lseek path quite as hard for indexes. regards, tom lane jfs2 in all cases. I don't recall the PG version for 5.1, but it was greater that 7.4.8. For 5.3, it was 7.4.12. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
[HACKERS] Vacuum Blocking A Deleteion - Why?
in PortalRun (portal=0x20327b10, count=2147483647, dest=0x203238f0, altdest=0x203238f0, completionTag=0x2ff1fa30 ) at pquery.c:494 #14 0x10001ebc in exec_simple_query (query_string=0x203236e0 VACUUM VERBOSE ANALYZE public.log_2;\n) at postgres.c:873 #15 0x10004a30 in PostgresMain (argc=4, argv=0x20270650, username=0x20270620 molly) at postgres.c:2877 #16 0x10036f70 in BackendFork (port=0x202a5c28) at postmaster.c:2564 #17 0x10036908 in BackendStartup (port=0x202a5c28) at postmaster.c:2207 #18 0x10034bb0 in ServerLoop () at postmaster.c:1119 #19 0x100344b8 in PostmasterMain (argc=3, argv=0x2026e998) at postmaster.c:897 #20 0x1688 in main (argc=3, argv=0x2ff22b18) at main.c:214 #21 0x1204 in __start () (gdb) quit The program is running. Quit anyway (and detach it)? (y or n) y Detaching from program: , process 1744920 prompt ps 1425438 PIDTTY STAT TIME COMMAND 1425438 - A13:38 postgres: slony tldlogs 32.85.68.213 DELETE waiting prompt gdb attach 1425438 GNU gdb 6.0 Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as powerpc-ibm-aix5.1.0.0...attach: A file or directory in the path name does not exist.. Attaching to process 1425438 [Switching to Thread 1] 0xd02f7188 in semop () from /usr/lib/libc.a(shr.o) (gdb) bt #0 0xd02f7188 in semop () from /usr/lib/libc.a(shr.o) #1 0x1004da54 in PGSemaphoreLock (sema=0x31024868, interruptOK=1 '\001') at pg_sema.c:419 #2 0x1004c68c in ProcSleep (lockMethodTable=0x, lockmode=3, lock=0x3116ea68, proclock=0x3116fa28) at proc.c:681 #3 0x10050244 in WaitOnLock (lockmethod=-1, lockmode=3, lock=0x3116ea68, proclock=0x3116fa28) at lock.c:896 #4 0x1004fc40 in LockAcquire (lockmethod=1, locktag=0x3116ea68, xid=539538752, lockmode=3, dontWait=0 '\0') at lock.c:685 #5 0x10063ddc in LockRelation (relation=0x203a6a58, lockmode=3) at lmgr.c:135 #6 0x10027050 in relation_open (relationId=17578, lockmode=3) at heapam.c:462 #7 0x10027414 in heap_openrv (relation=0x, lockmode=-1) at heapam.c:610 #8 0x10142d8c in setTargetTable (pstate=0x204dc4c0, relation=0x202f98d0, inh=0 '\0', alsoSource=1 '\001') at parse_clause.c:139 #9 0x1009e00c in transformDeleteStmt (pstate=0x204dc4c0, stmt=0x203e81f0) at analyze.c:471 #10 0x1009ddc0 in transformStmt (pstate=0x204dc4c0, parseTree=0x2ff1f8f0, extras_before=0x2ff1f940, extras_after=0x2ae4) at analyze.c:406 #11 0x1009d9ec in do_parse_analyze (parseTree=0x, pstate=0x204dc4c0) at analyze.c:239 #12 0x1009d7dc in parse_analyze (parseTree=0x203e81f0, paramTypes=0x0, numParams=0) at analyze.c:163 #13 0x1000188c in pg_analyze_and_rewrite (parsetree=0x203e81f0, paramTypes=0x0, numParams=0) at postgres.c:497 #14 0x10001df8 in exec_simple_query ( query_string=0x203b3030 insert into \public\.\log_1\ (trans_on,trans_by,client_trid,server_trid,object,command,xml,rc,server_id,_rserv_ts) values ('2006-01-04 19:18:56+00','1391','EpCbaefaEv1AUrC59v5G','124707143','1','4...) at postgres.c:812 #15 0x10004a30 in PostgresMain (argc=4, argv=0x202706b0, username=0x20270620 slony) at postgres.c:2877 #16 0x10036f70 in BackendFork (port=0x202a5c28) at postmaster.c:2564 #17 0x10036908 in BackendStartup (port=0x202a5c28) at postmaster.c:2207 #18 0x10034bb0 in ServerLoop () at postmaster.c:1119 #19 0x100344b8 in PostmasterMain (argc=3, argv=0x2026e998) at postmaster.c:897 #20 0x1688 in main (argc=3, argv=0x2ff22b18) at main.c:214 #21 0x1204 in __start () (gdb) quit The program is running. Quit anyway (and detach it)? (y or n) y Detaching from program: , process 1425438 -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 2: Don't 'kill -9' the postmaster
Re: Learning curves and such (was Re: [HACKERS] pgFoundry)
Oleg Bartunov wrote: Joshua, does RT has full support of PostgreSQL ? It support's Postgres, but it uses a dynamic query builder that is pretty brain dead. It only implements features that are cross DB compatible. It comes up with some pretty ugly queries. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster
[HACKERS] Port Report: Linux SuSE Enterprise Server 9 (x86_64)
./configure --enable-debug --with-perl == All 96 tests passed. == uname -a Linux richard 2.6.5-7.111.19-smp #1 SMP Fri Dec 10 15:10:58 UTC 2004 x86_64 x86_64 x86_64 GNU/Linux -- Brad Nicholson Database Administrator, Afilias Canada Corp. ---(end of broadcast)--- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
[HACKERS] V8.0rc1 On AIX.
AIX 5.1 I applied Bruce's patch, configured with --enable-thread-safety and everything went smoothly. == All 96 tests passed. == Brad. ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
[HACKERS] V8 Beta 5 on AIX
I tried compliling v8 beta 5 (grabbed from cvs on Friday) on AIX 5.1. It fails during the make make[4]: Entering directory `/opt/OXRS/Sources/pgsql-HEAD/src/interfaces/libpq' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/interfaces/libpq' make[4]: Entering directory `/opt/OXRS/Sources/pgsql-HEAD/src/port' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/port' gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels -fno-strict-aliasing -g pg_ctl.o -L../../../src/interfaces/libpq -lpq -L../../../src/port -L/opt/OXRS/supporting-packages/readline-4.2/lib -L/opt/OXRS/supporting-packages/zlib-1.1.4 -lpgport -lz -lreadline -lcurses -lPW -lld -lnsl -ldl -lm -o pg_ctl ld: 0711-317 ERROR: Undefined symbol: .pthread_sigmask ld: 0711-317 ERROR: Undefined symbol: .sigwait ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status make[3]: *** [pg_ctl] Error 1 make[3]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/bin/pg_ctl' make[2]: *** [all] Error 2 make[2]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/bin' make[1]: *** [all] Error 2 make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src' make: *** [all] Error 2 Brad. ---(end of broadcast)--- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
Re: [HACKERS] V8 Beta 5 on AIX
Bruce Momjian wrote: Brad Nicholson wrote: I tried compliling v8 beta 5 (grabbed from cvs on Friday) on AIX 5.1. It fails during the make make[4]: Entering directory `/opt/OXRS/Sources/pgsql-HEAD/src/interfaces/libpq' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/interfaces/libpq' make[4]: Entering directory `/opt/OXRS/Sources/pgsql-HEAD/src/port' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/port' gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels -fno-strict-aliasing -g pg_ctl.o -L../../../src/interfaces/libpq -lpq -L../../../src/port -L/opt/OXRS/supporting-packages/readline-4.2/lib -L/opt/OXRS/supporting-packages/zlib-1.1.4 -lpgport -lz -lreadline -lcurses -lPW -lld -lnsl -ldl -lm -o pg_ctl ld: 0711-317 ERROR: Undefined symbol: .pthread_sigmask ld: 0711-317 ERROR: Undefined symbol: .sigwait ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status make[3]: *** [pg_ctl] Error 1 make[3]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/bin/pg_ctl' make[2]: *** [all] Error 2 make[2]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src/bin' make[1]: *** [all] Error 2 make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-HEAD/src' make: *** [all] Error 2 OK, I assume you used --enable-thread-safety in configure. Correct. This should have added some PTHREAD link flags to your libpq build, and those settings should have followed the libpq library into your pg_ctl link line. Would you look in your Makefile.global for PTHREAD_* settings and report those. The second question is why saying those libraries are needed by libpq is not passing down to uses of libpq, like in pg_ctl. PTHREAD_CFLAGS =-pthread -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS PTHREAD_LIBS= -lpthread -lpthreads Brad. ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
Re: [HACKERS] V8 Beta 5 on AIX
Bruce Momjian wrote: Brad Nicholson wrote: OK, I assume you used --enable-thread-safety in configure. Correct. This should have added some PTHREAD link flags to your libpq build, and those settings should have followed the libpq library into your pg_ctl link line. Would you look in your Makefile.global for PTHREAD_* settings and report those. The second question is why saying those libraries are needed by libpq is not passing down to uses of libpq, like in pg_ctl. PTHREAD_CFLAGS =-pthread -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS PTHREAD_LIBS= -lpthread -lpthreads OK, great. Can I see the link line that creates libpq? It should contain the PTHREAD_LIBS flags. I've attached the Makefile.global from the system, in case it's of use. If it does, the next question is why AIX doesn't pass those flags. Oh, I think I see the cause. I now remember from config/acx_pthread.m4: # More AIX lossage: must compile with cc_r AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) Seems AIX wants a special _compiler_ to be used whenever threading is involved, even by a linked-in library. I didn't implement using PTHREAD_CC because there was just too much code disruption for threading on one platform. I wonder if we should just disable threading on AIX. I believe that this will result in Slony not working on AIX. Let me ask --- if you change the CC line in Makefile.global to cc_r, does everything build OK? That might be a clean solution because the change could be made in one place. Of course this would mean the backend would also be compiled using cc_r and I have no idea of the effect. Not an option, we don't have cc_r on the server. Of course, the idea that any use of libpq has to use cc_r is going to make building things complex without some adjustments. Also, what version of AIX are you using? Are other AIX folks having thread build problems? 5.1 Brad. # -*-makefile-*- # $PostgreSQL: pgsql/src/Makefile.global.in,v 1.205 2004/11/19 00:41:38 tgl Exp $ #-- # All PostgreSQL makefiles include this file and use the variables it sets, # which in turn are put here by the configure script. There is no need for # users to edit this file -- if it turns out to be necessary then that's a # bug. # # A makefile that includes this file needs to set the variable `subdir' to # the relative path from the top to itself and `top_builddir' to the relative # path from itself to the top before including this file. (The top is the # parent directory of the directory this file is in.) #-- ## # # Meta configuration .PHONY: all install install-strip installdirs uninstall clean distclean maintainer-clean distprep check installcheck maintainer-check .SILENT: installdirs # make `all' the default target all: # Delete target files if the command fails after it has # started to update the file. .DELETE_ON_ERROR: # PostgreSQL version number VERSION = 8.0.0rc1 # Support for VPATH builds vpath_build = no abs_top_srcdir = /opt/OXRS/Sources/pgsql-HEAD ifneq ($(vpath_build),yes) top_srcdir = $(top_builddir) srcdir = . else # vpath_build = yes top_srcdir = $(abs_top_srcdir) srcdir = $(top_srcdir)/$(subdir) endif # Saved arguments from configure configure_args = '--prefix=/opt/dbs/pgsql800-beta5-AIX51-2004-12-06' '--with-includes=/opt/OXRS/supporting-packages/readline-4.2/include:/opt/OXRS/supporting-packages/zlib-1.1.4/include' '--enable-debug' '--enable-thread-safety' '--with-libraries=/opt/OXRS/supporting-packages/readline-4.2/lib:/opt/OXRS/supporting-packages/zlib-1.1.4' ## # # Installation directories # # These are set by the equivalent --xxxdir configure options. We # append postgresql to some of them, if the string does not already # contain pgsql or postgres, in order to avoid directory clutter. prefix := /opt/dbs/pgsql800-beta5-AIX51-2004-12-06 exec_prefix := ${prefix} bindir := ${exec_prefix}/bin sbindir := ${exec_prefix}/sbin libexecdir := ${exec_prefix}/libexec ifeq $(findstring pgsql, $(libexecdir)) ifeq $(findstring postgres, $(libexecdir)) override libexecdir := $(libexecdir)/postgresql endif endif datadir := ${prefix}/share ifeq $(findstring pgsql, $(datadir)) ifeq $(findstring postgres, $(datadir)) override datadir := $(datadir)/postgresql endif endif sysconfdir := ${prefix}/etc ifeq $(findstring pgsql, $(sysconfdir)) ifeq $(findstring postgres, $(sysconfdir)) override sysconfdir := $(sysconfdir)/postgresql endif endif libdir := ${exec_prefix}/lib pkglibdir = $(libdir) ifeq $(findstring pgsql, $(pkglibdir)) ifeq $(findstring postgres, $(pkglibdir)) override pkglibdir := $(pkglibdir)/postgresql endif endif includedir
[HACKERS] AIX and V8 beta 3
Tried to install this on AIX 5.1, no luck (compiles fine without --enable-thread-safety though) . AIX 5.1 gcc 3.3.2 ./configure --prefix=/opt/dbs/pgsql800b3-AIX51-2004-09-30 --with-includes=/opt/dbs/readline-5-AIX51-2004-09-29/include:/opt/dbs/zlib-121-AIX51-2004-09-29/include:/opt/dbs/gdb-621-AIX51-2004-09-30/include --enable-debug --enable-thread-safety -with-libraries=/opt/dbs/readline-5-AIX51-2004-09-29/lib:/opt/dbs/zlib-121-AIX51-2004-09-29/lib:/opt/dbs/gdb-621-AIX51-2004-09-30/lib During the make: gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations pg_ctl.o exec.o -L../../../src/interfaces/libpq -lpq -L../../../src/port -L/opt/dbs/readline-5-AIX51-2004-09-29/lib -L/opt/dbs/zlib-121-AIX51-2004-09-29/lib -L/opt/dbs/gdb-621-AIX51-2004-09-30/lib -lpgport -lz -lreadline -lcurses -lPW -lld -lnsl -ldl -lm -o pg_ctl ld: 0711-317 ERROR: Undefined symbol: .pthread_setspecific ld: 0711-317 ERROR: Undefined symbol: .pthread_key_create ld: 0711-317 ERROR: Undefined symbol: .pthread_getspecific ld: 0711-317 ERROR: Undefined symbol: .pthread_once ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status make[3]: *** [pg_ctl] Error 1 Brad. ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]