如何用 postgresql 的静态库编译连接?

如何用 postgresql 的静态库编译连接?

自己写了一个程序 foo.c,用动态库编译时可以通过,并能正常运行:
$ gcc -lpq -o foo foo.c
但用静态库却不能通过编译:
$ gcc -lpq -static -o foo foo.c

编译时有许多类似下面的错误信息:
/tmp/ccTK1bje.o: In function `main':
/tmp/ccTK1bje.o(.text+0x79): undefined reference to `PQsetdbLogin'

请问如何解决?
(应用背景:我想把 foo 拿到另一台机子上去访问我本地的数据库,但那台机子没有装 postgresql 的开发包,因此需要用静态编译)      
问题解决了,仍然采用动态库,我把 postgresql 的头文件和库文件全 copy 过去了