mild modification to pg_dump

Started by marceloover 8 years ago14 messagesgeneral
Jump to latest
#1marcelo
marcelo.nicolet@gmail.com

I would need to do a mild change to pg_dump, working against a 9.4
server on linux.
Which source tree do I need? Have gcc 4.9.2 in my Lubuntu installation.
TIA

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Scott Mead
scottm@openscg.com
In reply to: marcelo (#1)
Re: mild modification to pg_dump

On Fri, Nov 17, 2017 at 7:51 AM, marcelo <marcelo.nicolet@gmail.com> wrote:

I would need to do a mild change to pg_dump, working against a 9.4 server
on linux.
Which source tree do I need? Have gcc 4.9.2 in my Lubuntu installation.
TIA

What exactly do you need to change? Most likely, there is a quick and easy
fix for whatever you're doing without modifying pg_dump itself.

That being said, if you really want to modify the source, download the
source tarball: https://www.postgresql.org/ftp/source/

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
--
Scott Mead
Sr. Architect
*OpenSCG <http://openscg.com&gt;*
http://openscg.com

#3marcelo
marcelo.nicolet@gmail.com
In reply to: Scott Mead (#2)
Re: mild modification to pg_dump

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump code,
I need to develop a daemon which can receive a TCP message (from a
privileged app) containing some elements: the database to dump, the user
under which do that, and his password. (My apps are using that same
data, of course, encripted to the common users).
Thank you, Scott.

Show quoted text

On 17/11/17 10:49, Scott Mead wrote:

On Fri, Nov 17, 2017 at 7:51 AM, marcelo <marcelo.nicolet@gmail.com
<mailto:marcelo.nicolet@gmail.com>> wrote:

I would need to do a mild change to pg_dump, working against a 9.4
server on linux.
Which source tree do I need? Have gcc 4.9.2 in my Lubuntu
installation.
TIA

What exactly do you need to change?  Most likely, there is a quick and
easy fix for whatever you're doing without modifying pg_dump itself.

That being said, if you really want to modify the source, download the
source tarball: https://www.postgresql.org/ftp/source/

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org
<mailto:pgsql-general@postgresql.org>)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
<http://www.postgresql.org/mailpref/pgsql-general&gt;

--
--
Scott Mead
Sr. Architect
/OpenSCG <http://openscg.com&gt;/
http://openscg.com

#4John R Pierce
pierce@hogranch.com
In reply to: marcelo (#3)
Re: mild modification to pg_dump

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump
code, I need to develop a daemon which can receive a TCP message (from
a privileged app) containing some elements: the database to dump, the
user under which do that, and his password. (My apps are using that
same data, of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

--
john r pierce, recycling bits in santa cruz

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#5Ron Johnson
ron.l.johnson@cox.net
In reply to: marcelo (#1)
Re: mild modification to pg_dump

On 11/17/2017 02:23 PM, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump code, I
need to develop a daemon which can receive a TCP message (from a
privileged app) containing some elements: the database to dump, the user
under which do that, and his password. (My apps are using that same data,
of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

Specifically, do you mean to write a simple daemon which forks pg_dump at
the appropriate time?

--
World Peace Through Nuclear Pacification

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#6marcelo
marcelo.nicolet@gmail.com
In reply to: John R Pierce (#4)
Re: mild modification to pg_dump

I need to "emulate" the pg_dump code because the password prompt. Years
ago I write a program (for the QnX environment) that catched some prompt
and emulates the standard input. I don't like to do that again.

On 17/11/17 17:23, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump
code, I need to develop a daemon which can receive a TCP message
(from a privileged app) containing some elements: the database to
dump, the user under which do that, and his password. (My apps are
using that same data, of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#7Vick Khera
vivek@khera.org
In reply to: marcelo (#6)
Re: mild modification to pg_dump

pg_dump is a libpq client, and thus will read the environment for a
variable with the password. no need to emulte any command prompt tty
operations.

On Fri, Nov 17, 2017 at 4:06 PM, marcelo <marcelo.nicolet@gmail.com> wrote:

Show quoted text

I need to "emulate" the pg_dump code because the password prompt. Years
ago I write a program (for the QnX environment) that catched some prompt
and emulates the standard input. I don't like to do that again.

On 17/11/17 17:23, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump code,
I need to develop a daemon which can receive a TCP message (from a
privileged app) containing some elements: the database to dump, the user
under which do that, and his password. (My apps are using that same data,
of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#8marcelo
marcelo.nicolet@gmail.com
In reply to: Ron Johnson (#5)
Re: mild modification to pg_dump

I will give expect a try. But the source code embedded in my daemon.

On 17/11/17 17:49, Ron Johnson wrote:

On 11/17/2017 02:23 PM, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump
code, I need to develop a daemon which can receive a TCP message
(from a privileged app) containing some elements: the database to
dump, the user under which do that, and his password. (My apps are
using that same data, of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

Specifically, do you mean to write a simple daemon which forks pg_dump
at the appropriate time?

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#9Ron Johnson
ron.l.johnson@cox.net
In reply to: marcelo (#1)
Re: mild modification to pg_dump

What about the pgpass file?

https://www.postgresql.org/docs/9.2/static/libpq-pgpass.html

On 11/17/2017 03:06 PM, marcelo wrote:

I need to "emulate" the pg_dump code because the password prompt. Years
ago I write a program (for the QnX environment) that catched some prompt
and emulates the standard input. I don't like to do that again.

On 17/11/17 17:23, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump code,
I need to develop a daemon which can receive a TCP message (from a
privileged app) containing some elements: the database to dump, the user
under which do that, and his password. (My apps are using that same
data, of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

--
World Peace Through Nuclear Pacification

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#10Scott Mead
scottm@openscg.com
In reply to: marcelo (#6)
Re: mild modification to pg_dump

On Fri, Nov 17, 2017 at 4:06 PM, marcelo <marcelo.nicolet@gmail.com> wrote:

I need to "emulate" the pg_dump code because the password prompt. Years
ago I write a program (for the QnX environment) that catched some prompt
and emulates the standard input. I don't like to do that again.

pg_dump can use an environment variable "PGPASSWORD" upon execution
(actually, all libpq programs can). You could have a wrapper that sets the
environment variable and then executes pg_dump, this would get you around
that prompt. Similarly, you could use the .pgpass file.

https://www.postgresql.org/docs/9.5/static/libpq-envars.html
https://www.postgresql.org/docs/9.5/static/libpq-pgpass.html

--Scott

On 17/11/17 17:23, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump code,
I need to develop a daemon which can receive a TCP message (from a
privileged app) containing some elements: the database to dump, the user
under which do that, and his password. (My apps are using that same data,
of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
--
Scott Mead
Sr. Architect
*OpenSCG <http://openscg.com&gt;*
http://openscg.com

#11marcelo
marcelo.nicolet@gmail.com
In reply to: Scott Mead (#10)
Re: mild modification to pg_dump

Thank you, Scott.
That's happening me because incomplete docs reading.
Truly, I'm catched in a very big app, so I have no time to read all the
docs.

Show quoted text

On 17/11/17 18:31, Scott Mead wrote:

On Fri, Nov 17, 2017 at 4:06 PM, marcelo <marcelo.nicolet@gmail.com
<mailto:marcelo.nicolet@gmail.com>> wrote:

I need to "emulate" the pg_dump code because the password prompt.
Years ago I write a program (for the QnX environment) that catched
some prompt and emulates the standard input. I don't like to do
that again.

pg_dump can use an environment variable "PGPASSWORD" upon execution
(actually, all libpq programs can).  You could have a wrapper that
sets the environment variable and then executes pg_dump, this would
get you around that prompt.  Similarly, you could use the .pgpass file.

https://www.postgresql.org/docs/9.5/static/libpq-envars.html
https://www.postgresql.org/docs/9.5/static/libpq-pgpass.html

--Scott

On 17/11/17 17:23, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on
pg_dump code, I need to develop a daemon which can receive
a TCP message (from a privileged app) containing some
elements: the database to dump, the user under which do
that, and his password. (My apps are using that same data,
of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than
try and incorporate its source code into your app.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org
<mailto:pgsql-general@postgresql.org>)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
<http://www.postgresql.org/mailpref/pgsql-general&gt;

--
--
Scott Mead
Sr. Architect
/OpenSCG <http://openscg.com&gt;/
http://openscg.com

#12marcelo
marcelo.nicolet@gmail.com
In reply to: Ron Johnson (#5)
Re: mild modification to pg_dump

Again: knowing of .pgpass (thank you Scott) this is what I will do.

On 17/11/17 17:49, Ron Johnson wrote:

On 11/17/2017 02:23 PM, John R Pierce wrote:

On 11/17/2017 12:19 PM, marcelo wrote:

Sorry, I was not exact.
I don't need nor like to change pg_dump. Rather, based on pg_dump
code, I need to develop a daemon which can receive a TCP message
(from a privileged app) containing some elements: the database to
dump, the user under which do that, and his password. (My apps are
using that same data, of course, encripted to the common users).

I would just fork pg_dump to do the actual dump rather than try and
incorporate its source code into your app.

Specifically, do you mean to write a simple daemon which forks pg_dump
at the appropriate time?

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#13Andres Freund
andres@anarazel.de
In reply to: marcelo (#11)
Re: mild modification to pg_dump

On 2017-11-17 18:56:45 -0300, marcelo wrote:

Truly, I'm catched in a very big app, so I have no time to read all
the docs.

People on this list also have jobs.

- Andres

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#14Matt Zagrabelny
mzagrabe@d.umn.edu
In reply to: marcelo (#12)
Re: mild modification to pg_dump

On Fri, Nov 17, 2017 at 3:58 PM, marcelo <marcelo.nicolet@gmail.com> wrote:

Again: knowing of .pgpass (thank you Scott) this is what I will do.

Just in case you might not know. The perms of the .pgpass file need to not
have group or all write access. For instance:

chmod 0600 .pgpass

-m