GNU/Linux >> Linux の 問題 >  >> Linux

root 権限なしで PostgreSQL データベースを作成する

新しいインスタンス (PostgreSQL では「クラスター」と呼ばれます) を作成して起動することにより、root 権限なしで PostgreSQL を実行できます。

Ubuntu の初期化スクリプト、pg_ctlcluster などのラッパー ツールは使用できません。 、など。 PostgreSQL 独自のツールのみを使用する必要があります。

ユーザー名と同じスーパーユーザー、ホーム ディレクトリのデータ ディレクトリ、デフォルトで有効な md5 認証で新しい PostgreSQL インスタンスを作成するには、次を使用します。

initdb -D $HOME/my_postgres -A md5 -U $USER

必要に応じて調整します。 initdb --help を参照 .

postgresql.conf を編集する必要があります。 port を変更するには システムはおそらくデフォルトのポート 5432 で独自の postgres を実行するため、デフォルト以外のものに変更します (アクセスを厳密に制限したい場合は、代わりに listen_addresses = '' を設定できます)。 および unix_socket_directories = /home/myuser/postgres_socket または何でも。ただし、別のポートを使用する方が簡単です。)

開始するには:

pg_ctl -D $HOME/my_postgres -w start

それに接続するには、選択したポートを指定します:

psql -p 5434 ...

( unix_socket_directories を変更した場合 -h /home/myuser/postgres_socket のように、指定したパスも指定する必要があります。 .)

psql にする などはデフォルトでpostgresに接続し、 ~/.bashrc を編集します のようなものを追加する

export PGPORT=5434

ただし、他のホストへの接続用のデフォルト ポートにも影響することに注意してください。

停止するには:

pg_ctl -D $HOME/my_postgres -w stop

ただし、停止せずにシャットダウンすることもできます。それは気にせず、次に起動したときに安全に回復します。

ホームディレクトリにセットアップされているときにログインしたときに自動起動するには、デスクトップ環境の起動時実行機能を使用する必要があります。環境やバージョンによって異なるため、ここでは詳しく説明できません。 GNOME 3、Unity (ubuntu)、KDE、XFCE などでは異なります。

このアプローチはまだシステム packages を使用していることに注意してください PostgreSQL用。 PostgreSQL 9.4 を (たとえば) アンインストールして 9.6 をインストールすると、ホーム ディレクトリにあるコピーが機能しなくなるため、これは重要です。システムを制御していない場合のように、システム パッケージから完全に独立させたい場合は、ソースから PostgreSQL をコンパイルするか、バイナリ インストーラを使用してホーム ディレクトリ内にインストールする必要があります。


Linux
  1. MySQLWorkbenchを使用してMySQLでデータベースを作成する方法

  2. PostgreSQLデータベースサーバー

  3. cPanelでデータベースを作成する方法

  1. sudo なしで ifconfig を実行する

  2. ルートなしでシリアルポートへの読み取り/書き込み?

  3. root アクセスなしで 1024 未満のポートにバインドする

  1. SuなしでSudoによってrootパスワードを変更しますか?

  2. PostgreSQLでデータベースをバックアップおよび復元する方法

  3. PostgreSQLでロールを作成および削除する