我尝试使用libpq
在C程序中连接到Postgres。当我在自己的用户名下运行时(这与我为Postgres数据库创建的用户名相同)一切都很好。当我尝试在root下运行程序时,它失败了:
FATAL: Peer authentication failed for user "jqpublic"
在这两种情况下,传递给PQconnectdb
的conninfo字符串类似于:
dbname=somedb user=jqpublic password=somepassword
如果我在conninfo中添加host
选项,连接成功,但是我将通过TCP / IP连接,我的测试显示的速度明显慢于默认的UNIX套接字。有没有办法在root(或其他名称与DB用户不同的用户)下运行时使用UNIX套接字?