sql >> Databáze >  >> RDS >> PostgreSQL

Perl - DBI a .pgpass

ANO! JE lepší způsob.

Snadno přepínejte mezi testovacími a živými servery.

  • uchovávejte hesla v ~/.pgpass (pro psql &pg_dump )
  • Další informace o konfiguraci v ~/.pg_service.conf (nebo /etc/pg_service.conf )

např.:

#!/usr/bin/perl -T
use strict;
use warnings;
use DBI;

my $dbh = DBI->connect
(
    #"dbi:Pg:service=live",
    "dbi:Pg:service=test",
    undef,
    undef,
    {
        AutoCommit => 0,
        RaiseError => 1,
        PrintError => 0
    }
) or die DBI->errstr;

~/.pg_service.conf:

# http://www.postgresql.org/docs/9.2/static/libpq-pgservice.html
# /usr/local/share/postgresql/pg_service.conf.sample
# http://search.cpan.org/dist/DBD-Pg/Pg.pm
#

[test]
dbname=hotapp_test
user=hotusr_test
# localhost, no TCP nonsense needed:
host=/tmp

[live]
dbname=hotapp_live
user=hotusr_live
host=pgsql-server.example.org

~/.pgpass:

# http://www.postgresql.org/docs/9.2/static/libpq-pgpass.html
# hostname:port:database:username:password
localhost:5432:hotapp_test:hotusr_test:kq[O2Px7=g1
pgsql-server.example.org:5432:hotapp_live:hotusr_live:Unm£a7D(H


  1. výběr řádků, které se vyskytly více než třikrát

  2. Připravené příkazy PHP PDO a vazba hodnoty dávají chybné číslo parametru

  3. SQL výběr průměrného skóre v rozsahu dat

  4. Jaký je nejlepší způsob vložení více řádků do PHP PDO MYSQL?