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

RedHatLinuxに複数のPostgreSQLサーバーをインストールする方法

    RedHatファミリーのLinuxサーバー(CentOSとFedoraを含む)をお持ちの場合は、Debian/UbuntuディストリビューションがPostgreSQLクラスター管理を処理する方法をうらやましく思うかもしれません。

    RPMを使用して同じRedHatLinuxサーバーに異なるバージョンのPostgreSQLをインストールするのは簡単ではありませんが、PostgreSQL(サーバー)の複数のインスタンスをインストールすると同時に、サービスインフラストラクチャを利用する方がはるかに簡単です。

    RPMのインストールをセットアップしたら、PostgreSQL YUMリポジトリにある手順に従って、プロセスによって2つのファイルが作成されることに気付くでしょう。

    • /etc/init.d/postgresql :PostgreSQLサーバーの初期化スクリプト
    • /etc/sysconfig/pgsql/postgresql :postgresqlサービスのシステム構成

    デフォルトでは、PostgreSQLデータディレクトリ(PGDATA )は/var/lib/pgsql/dataを指します ディレクトリ。 /etc/sysconfig/pgsql/postgresqlを変更することで変更できます ファイル。

    開発目的で使用されるデフォルトのサーバーに2つ目のサーバーを追加して、同じRedHatLinuxに2つのPostgreSQLサーバーをインストールするとします。これをpostgresql-develと呼びます 。 /var/lib/pgsql/data-develにインストールされます ディレクトリであり、5433ポートで実行されます。

    メインのpostgresqlへのシンボリックリンクを作成します スクリプトを初期化し、postgresql-develと呼びます。 :

    
    cd /etc/init.d/
    ln -s postgresql postgresql-devel
    

    次に、postgresql-develの入力を開始します /etc/sysconfig/pgsqlの構成ファイル ディレクトリ。 initスクリプトとシステム構成ファイルの名前が同じであることに注意してください

    
    cat < /etc/sysconfig/pgsql/postgresql-devel
    PGDATA=/var/lib/pgsql/data-devel
    PGPORT=5433
    PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
    EOF
    

    これが完了したら、次のコマンドを実行してデータディレクトリを初期化できます。/etc/init.d/postgresql-devel initdb または単にservice postgresql-devel initdb

    同様に、次のコマンドを実行することで、サービスの起動とシャットダウンを制御できます。

    • service postgresql-devel start
    • service postgresql-devel stop

    chkconfigを使用して、システムの起動とシャットダウンからスクリプトを追加/削除できます。 他のサービスと同じように。

    PostgreSQL wikiには、このトピックに関する詳細なページが含まれています。これと一緒に読むことをお勧めします。ただし、この簡単な記事では、複数のPostgreSQLインスタンスを同じLinuxサーバーに簡単に統合し、標準のRedHatサービスインフラストラクチャを使用してそれらを管理する方法を示しています(Devrim Gunduzによるすばらしい仕事に感謝します)。


    1. SQLでのDELETEVSDROP

    2. mysqlは、動的な行の値を列名として選択し、別の列を値として選択します

    3. SQL INSERT構文–DBMSによってリストされます

    4. ストアドプロシージャの結果セット(T-SQL)から列のサブセットを選択する方法