sql >> データベース >  >> RDS >> PostgreSQL

Perl-DBIおよび.pgpass

    はい! ISがあります より良い方法。

    テストサーバーとライブサーバーを簡単に切り替えることができます。

    • パスワードは~/.pgpassに保管してください (psqlの場合 &pg_dump
    • ~/.pg_service.confのその他の構成情報 (または/etc/pg_service.conf

    例:

    #!/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. SQLは特定のユーザーとの間で最後のメッセージを取得します

    2. リモートMySQLデータベースへのGoogleフォーム出力

    3. ユーザーが入力したテキストを効率的にサニタイズします

    4. PDOプリペアドステートメントでMySQLIN操作に値を渡しますか?