[GENERAL] How to use postgres 7.0.3 with -F?

2001-02-16 Thread Konstantinos Agouros

Hi,

someone gave me the tip to use the -F-flag to improve performance. Since
I can't run the postmaster with -F but just postgres how do I do it, if I
want to import a big amount of data?

Konstantin
-- 
Dipl-Inf. Konstantin Agouros aka Elwood Blues. Internet: [EMAIL PROTECTED]
Otkerstr. 28, 81547 Muenchen, Germany. Tel +49 89 69370185

"Captain, this ship will not sustain the forming of the cosmos." B'Elana Torres



Re: [GENERAL] How to use postgres 7.0.3 with -F?

2001-02-16 Thread Tom Lane

[EMAIL PROTECTED] (Konstantinos Agouros) writes:
 someone gave me the tip to use the -F-flag to improve performance. Since
 I can't run the postmaster with -F but just postgres how do I do it, if I
 want to import a big amount of data?

In 7.0.* (but not prior versions) it is safe to run individual backends
with -F; other backends will still fsync their changes.  So, you can
start a backend that's going to do an import with

export PGOPTIONS="-F"
psql mydb


(adjust 'export' command syntax depending on your preferred shell.)
libpq passes the value of the environment variable PGOPTIONS over to the
backend, and away you go.  -dN (debug level) is another backend command-
line switch commonly set this way.

regards, tom lane



Re: [GENERAL] How to use postgres 7.0.3 with -F?

2001-02-16 Thread Konstantinos Agouros

In [EMAIL PROTECTED] [EMAIL PROTECTED] (Tom Lane) writes:

[EMAIL PROTECTED] (Konstantinos Agouros) writes:
 someone gave me the tip to use the -F-flag to improve performance. Since
 I can't run the postmaster with -F but just postgres how do I do it, if I
 want to import a big amount of data?

In 7.0.* (but not prior versions) it is safe to run individual backends
with -F; other backends will still fsync their changes.  So, you can
start a backend that's going to do an import with

   export PGOPTIONS="-F"
   psql mydb
   

(adjust 'export' command syntax depending on your preferred shell.)
libpq passes the value of the environment variable PGOPTIONS over to the
backend, and away you go.  -dN (debug level) is another backend command-
line switch commonly set this way.
A O thanks for the help I was confused. Does this also work that way, if
I use it from DBI::Pg from perl? Like setting $ENV{'PGOPTIONS'}

Konstantin

   regards, tom lane

-- 
Dipl-Inf. Konstantin Agouros aka Elwood Blues. Internet: [EMAIL PROTECTED]
Otkerstr. 28, 81547 Muenchen, Germany. Tel +49 89 69370185

"Captain, this ship will not sustain the forming of the cosmos." B'Elana Torres



Re: [GENERAL] How to use postgres 7.0.3 with -F?

2001-02-16 Thread Tom Lane

[EMAIL PROTECTED] (Konstantinos Agouros) writes:
 export PGOPTIONS="-F"
 psql mydb

 A O thanks for the help I was confused. Does this also work
 that way, if I use it from DBI::Pg from perl? Like setting
 $ENV{'PGOPTIONS'}

Yeah, I think that should work if you do it before opening a connection,
but a more straightforward way is to set options=-F in the
DBI-connect() command ...

regards, tom lane



Re: [GENERAL] How to use postgres 7.0.3 with -F?

2001-02-16 Thread Doug McNaught

Tom Lane [EMAIL PROTECTED] writes:

 [EMAIL PROTECTED] (Konstantinos Agouros) writes:
  export PGOPTIONS="-F"
  psql mydb
 
  A O thanks for the help I was confused. Does this also work
  that way, if I use it from DBI::Pg from perl? Like setting
  $ENV{'PGOPTIONS'}
 
 Yeah, I think that should work if you do it before opening a connection,
 but a more straightforward way is to set options=-F in the
 DBI-connect() command ...

I think Tom's suggestion is the way to go--I found a long time ago
that Perl only puts the %ENV hash into the environment when it's about
to call exec().  I was using DBD::Informix and found that my
INFORMIXDIR variable, set in the Perl script, was not making it
through to the Informix libraries (since no separate program was being
called).  I had to run the Perl script from a wrapper shell script
that set INFORMIXDIR...

This may have been fixed by now, though, it was five years ago or so.

-Doug