我有一个运行的本地postgres服务器(在ubuntu
linux上).它通过套接字文件监听:
$ls -la /var/run/postgresql/ total 8 drwxrwsrwx 2 postgres postgres 100 2011-04-15 19:06 . drwxr-xr-x 26 root root 1100 2011-04-15 19:12 .. -rw------- 1 postgres postgres 5 2011-04-15 19:06 8.4-main.pid srwxrwxrwx 1 postgres postgres 0 2011-04-15 19:06 .s.PGsql.5433 -rw------- 1 postgres postgres 34 2011-04-15 19:06 .s.PGsql.5433.lock
我可以在命令行上连接到服务器:
$psql -d gis -U rory psql (8.4.7) Type "help" for help. gis=# \q $psql -d gis psql (8.4.7) Type "help" for help. gis=# \q
我正在尝试使用osm2pgsql,一个来自OpenStreetMap project的应用程序,它将数据导入到pgsql数据库中.
但是我得到的错误是:
$./osm2pgsql/osm2pgsql -m -d gis -U rory ../data.osm.bz2 osm2pgsql SVN version 0.70.5 Connection to database Failed: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGsql.5432"?
值得注意的是,它试图使用套接字文件.s.PGsql.5432,它不存在,而实际的套接字文件名是.s.PGsql.5433,文件名几乎完全相同.