Re: Unable to execute pg_dump
От | Tom Lane |
---|---|
Тема | Re: Unable to execute pg_dump |
Дата | |
Msg-id | 1098936.1592197202@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Unable to execute pg_dump (Joseph Maruca <joseph.maruca@masimo.com>) |
Список | pgsql-general |
Joseph Maruca <joseph.maruca@masimo.com> writes: > I end up in the bash-4.1 shell. When executing the following command from within the shell: bash-4.1$ pg_dump db_name >/tmp/my_database.sql I am presented with the following error: > pg_dump: [archiver (db)] connection to database "db_name" failed: could not connect to server: No such file or directoryIs the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? Ah, this is a symptom we've seen before. There is disagreement about where the postmaster ought to put its socket file --- traditionally PG puts it in /tmp/, but some people feel that's a security hazard and want to put it in a bespoke directory such as /var/run/postgresql/. It appears from these symptoms that (a) you are running a server that puts the socket in /tmp (probably you got that server from a PGDG RPM?) but (b) you are trying to connect to it using a Red-Hat-provided libpq (which defaults to expecting the file to be in /var/run/postgresql/). You have various possible workarounds: * tell the server to create a socket file in /var/run/postgresql/ too (see unix_socket_directories); * tell libpq where to find the socket, e.g. with "psql -h /tmp"; * tell libpq not to use a Unix socket at all, e.g. "psql -h localhost"; * make sure to invoke psql+libpq from the PGDG distribution rather than using ones supplied by Red Hat. Generally speaking, mixing PGDG RPMs with vendor-supplied Postgres RPMs is a recipe for headaches. If you can drop the Red Hat Postgres RPMs without causing dependency problems, do that. Otherwise, the two-socket-files solution is probably the best. regards, tom lane
В списке pgsql-general по дате отправления: