postgresqlpostgresqlを使い始める

備考

この節では、postgresqlの概要と、なぜ開発者がそれを使いたいのかを概説します。

また、postgresql内の大きな件名についても言及し、関連するトピックにリンクする必要があります。 postgresqlのドキュメントは新しくなっているので、それらの関連トピックの初期バージョンを作成する必要があります。

バージョン

バージョン発売日 EOLの日付
9.6 2016-09-29 2021-09-01
9.5 2016-01-07 2021-01-01
9.4 2014年12月18日 2019-12-01
9.3 2013-09-09 2018-09-01
9.2 2012-09-10 2017-09-01
9.1 2011-09-12 2016-09-01
9.0 2010-09-20 2015-09-01
8.4 2009-07-01 2014-07-01

PostgreSQLをMacPorts経由でOSXにインストールする方法

PostgreSQLをOSXにインストールするには、現在サポートされているバージョンを知る必要があります。

使用可能なバージョンを確認するには、このコマンドを使用します。

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

次のようなリストが表示されます。

postgresql80                   @8.0.26         databases/postgresql80
postgresql81                   @8.1.23         databases/postgresql81
postgresql82                   @8.2.23         databases/postgresql82
postgresql83                   @8.3.23         databases/postgresql83
postgresql84                   @8.4.22         databases/postgresql84
postgresql90                   @9.0.23         databases/postgresql90
postgresql91                   @9.1.22         databases/postgresql91
postgresql92                   @9.2.17         databases/postgresql92
postgresql93                   @9.3.13         databases/postgresql93
postgresql94                   @9.4.8          databases/postgresql94
postgresql95                   @9.5.3          databases/postgresql95
postgresql96                   @9.6beta2       databases/postgresql96
 

この例では9.6でサポートされているPostgreSQLの最新バージョンですので、それをインストールします。

sudo port install postgresql96-server postgresql96
 

次のようなインストールログが表示されます。

--->  Computing dependencies for postgresql96-server
--->  Dependencies to be installed: postgresql96
--->  Fetching archive for postgresql96
--->  Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from         https://packages.macports.org/postgresql96
--->  Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
--->  Installing postgresql96 @9.6beta2_0
--->  Activating postgresql96 @9.6beta2_0

To use the postgresql server, install the postgresql96-server port

--->  Cleaning postgresql96
--->  Fetching archive for postgresql96-server
--->  Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
--->  Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
--->  Installing postgresql96-server @9.6beta2_0
--->  Activating postgresql96-server @9.6beta2_0

To create a database instance, after install do
 sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
 sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
 sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'

--->  Cleaning postgresql96-server
--->  Computing dependencies for postgresql96
--->  Cleaning postgresql96
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
 

このログには、インストールの残りの手順についての説明が記載されていますので、次にそれを行います。

sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
 

ここでサーバーを起動します。

sudo port load -w postgresql96-server
 

サーバーに接続できることを確認します。

su postgres -c psql
 

postgresからのプロンプトが表示されます。

psql (9.6.1)
Type "help" for help.

postgres=#
 

ここでは、サーバーが実行中であることを確認するために照会を入力できます。

postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
 

そして、その反応を見てください:

                setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#
 

\ qと入力して終了します。

postgres=#\q
 

そしてあなたはあなたのシェルプロンプトに戻ります。

おめでとう! OS / X上でPostgreSQLインスタンスが動作しています。

LinuxのソースからPostgreSQLをインストールする

依存関係:

  • GNU Makeバージョン> 3.80
  • ISO / ANSI Cコンパイラ(gccなど)
  • tarやgzipのような抽出プログラム
  • zlib-devel
  • readline-devel oder libedit-devel

ソース: 最新ソースへのリンク(9.6.3)

これで、ソースファイルを展開することができます:

tar -xzvf postgresql-9.6.3.tar.gz
 

PostgreSQLの設定には、さまざまなオプションがあります。

完全なインストール手順への完全なリンク

利用可能なオプションの小さなリスト:

  • --prefix=PATH すべてのファイルのパス
  • --exec-prefix=PATH architectur-dependetファイルのパス
  • --bindir=PATH 実行可能プログラムのパス
  • --sysconfdir=PATH 設定ファイルの--sysconfdir=PATH パス
  • --with-pgport=NUMBER サーバーのポートを指定する
  • --with-perl add perlサポート
  • --with-python pythonのサポートを追加する
  • --with-openssl はopensslサポートを追加します
  • --with-ldap add ldapサポート
  • --with-blocksize=BLOCKSIZE はKB --with-blocksize=BLOCKSIZE 設定し--with-blocksize=BLOCKSIZE
    • BLOCKSIZE は2の累乗で、 BLOCKSIZE なければなりません
  • --with-wal-segsize=SEGSIZE サイズをWALに設定 - セグメントサイズ(MB)
    • SEGSIZE は1から64の間の2のSEGSIZE なければなりません

新しく作成したフォルダに移動し、必要なオプションを指定してcofigureスクリプトを実行します。

./configure --exec=/usr/local/pgsql
 

make を実行してオブジェクトファイルを作成する

make install を実行してビルドされたファイルからPostgreSQLをインストールする

make cleanmake clean にきれいにする

拡張スイッチの場合、 cd contrib ディレクトリにmake を実行makemake install

Macにbrewをインストールしてpostgresqlをインストールする

Homebrew自身が ' macOSパッケージマネージャーがない 'と呼んでいます。これは、アプリケーションとライブラリをビルドしてインストールするために使用できます。 インストールが完了すると、 brew コマンドを使用してPostgreSQLをインストールすることができ、その依存関係は次のようになります。

brew update
brew install postgresql
 

Homebrewは一般的に最新の安定バージョンをインストールします。別のものが必要な場合は、 brew search postgresql は利用可能なバージョンを表示します。特定のオプションでビルドされたPostgreSQLが必要な場合は、 brew info postgresql はどのオプションがサポートされているかを一覧表示します。サポートされていないビルドオプションが必要な場合は、ビルドを自分で行う必要がありますが、引き続きHomebrewを使用して共通の依存関係をインストールすることができます。

サーバーを起動します。

brew services start postgresql
 

PostgreSQLのプロンプトを開きます

psql
 

psqlがあなたのユーザに対応するデータベースがないと言うと、 createdb 実行します。

GNU + Linuxへのインストール

ほとんどのGNU + Linuxオペレーティングシステムでは、PostgreSQLはオペレーティングシステムのパッケージマネージャを使用して簡単にインストールできます。

Red Hatファミリー

リポジトリはhttps://yum.postgresql.org/repopackages.phpにあります。

コマンドを使用してリポジトリをローカルマシンにダウンロードする

yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
 

利用可能なパッケージを表示する:

yum list available | grep postgres*
 

Neccesaryパッケージは次のとおりです。postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib

これらは、次のコマンドでインストールされます。yum -y install postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib

インストールが完了したら、サービス所有者としてデータベースサービスを開始する必要があります(デフォルトはpostgresです)。これはpg_ctlコマンドで行います。

sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start 
 

CLIでDBにアクセスするには、 psql

Debianファミリー

Debianと派生したオペレーティングシステムでは、次のように入力します。

sudo apt-get install postgresql
 

これにより、PostgreSQLサーバパッケージが、オペレーティングシステムのパッケージリポジトリによって提供されるデフォルトバージョンでインストールされます。

既定でインストールされているバージョンが目的のバージョンでない場合は、パッケージマネージャを使用して、同時に提供される特定のバージョンを検索することができます。

PostgreSQLプロジェクト( PGD​​G )が提供するYumリポジトリを使用して、別のバージョンを取得することもできます。これにより、まだオペレーティングシステムパッケージリポジトリによって提供されていないバージョンが許可される可能性があります。

WindowsへのPostgreSQLのインストール

実稼働サーバーとしてUnixベースのオペレーティングシステム(LinuxやBSDなど)を使用することをお勧めしますが、PostgreSQLをWindowsに簡単にインストールできます(うまくいけば開発サーバーとしてのみ)。

WindowsインストールバイナリをEnterpriseDBからダウンロードしてくださいhttp : //www.enterprisedb.com/products-services-training/pgdownloadこれは、Windows用のバイナリを最適化したPostgreSQLプロジェクトの中心的な貢献者によって始められたサードパーティの企業です。

最新の安定版(非ベータ版)(執筆時点では9.5.3)を選択してください。ほとんどの場合、Win x86-64パッケージが必要ですが、古いコンピュータでは一般的なWindowsの32ビットバージョンを実行している場合は、代わりにWin x86-32を選択します。

注:Beta版とStable版の切り替えには、ダンプや復元などの複雑な作業が必要になります。ベータ版または安定版でアップグレードするには、サービスを再起動する必要があります。

コントロールパネル - >システムとセキュリティ - >システム - >システムタイプの "## - bit Operating System"に行くと、Windowsのバージョンが32または64ビットかどうかを確認できます。これはWindows 7のパスですが、他のバージョンのWindowsでは若干異なる場合があります。

インストーラで、使用するパッケージを選択します。例えば:

  • pgAdmin( https://www.pgadmin.org )はあなたのデータベースを管理するための無料のGUIです。私はそれを強く推奨します。 9.6では、これはデフォルトでインストールされます。
  • PostGIS( http://postgis.net )は、GIS開発者の間で非常に普及しているGPS座標、距離などに関する地理空間解析機能を提供します。
  • 言語パッケージは、公式にサポートされている手続き言語PL / Python、PL / Perl、PL / Tclに必要なライブラリを提供します。
  • pgAgent、pgBouncer、Slonyのような他のパッケージは、より大規模な本番用サーバーには便利です。必要に応じてチェックするだけです。

これらのオプションパッケージは、後で "Application Stack Builder"を介してインストールすることができます。

注: PL / V8PL / Lua PL / Javaなどの公式にサポートされていない言語もあります。

pgAdminを開き、その名前をダブルクリックしてサーバーに接続します。 "PostgreSQL 9.5(localhost:5432)。

この時点から、優秀な本のPostgreSQL:Up and Running、第2版( http://shop.oreilly.com/product/0636920032144.do )などのガイドに従うことができます。

オプション:手動サービス起動タイプ

PostgreSQLは、ほとんどのプログラムとは少し異なるバックグラウンドでサービスとして実行されます。これは、データベースとWebサーバーで共通です。そのデフォルトのスタートアップの種類は自動です。つまり、あなたからの入力なしで常に実行されます。

なぜPostgreSQLサービスを手動で制御したいのですか? PCを開発サーバーとして使用している場合や、ビデオゲームなどに使用する場合、PostegreSQLを使用すると、実行中のシステムが少し遅くなる可能性があります。

なぜ手動でコントロールしたくないのですか?サービスの開始と停止は、頻繁に行うと面倒です。

スピードの違いに気付かず、面倒を避けたい場合は、「スタートアップの種類」を「自動」のままにして、このガイドの残りの部分は無視してください。さもないと...

コントロールパネル - >システムとセキュリティ - >管理ツールに移動します。

リストから「Services」を選択し、そのアイコンを右クリックし、Send To - > Desktopを選択して、より便利なアクセスのためのデスクトップアイコンを作成します。

[管理ツール]ウィンドウを閉じ、次に作成したデスクトップアイコンから[サービス]を起動します。

postgresql-x ## - 9.#(例:postgresql-x64-9.5)のような名前のサービスが表示されるまで下にスクロールします。

postgresサービスを右クリックし、[プロパティ] - > [スタートアップの種類] - > [手動] - > [適用] - > [OK]を選択します。あなたはそれを簡単に自動的に元に戻すことができます。

"pgbouncer"や "PostgreSQL Scheduling Agent - pgAgent"などの他のPostgreSQL関連サービスが表示されている場合は、PostgreSQLが実行されていない場合でもStartup TypeをManualに変更することができます。これはあなたが開始し、停止するたびに多くの面倒を意味するが、それはあなた次第である。 PostgreSQL自体のリソースはそれほど多く使われておらず、システムのパフォーマンスにはほとんど影響しません。

サービスが実行されている場合、StatusはStartedと表示され、そうでない場合は実行されていません。

起動するには、右クリックして[開始]を選択します。読み込みプロンプトが表示され、すぐに消えるはずです。それはあなたにエラーを与える場合はもう一度試してください。それがうまくいかない場合は、ほとんどの人が変更しないWindowsの設定を変更したことが原因で、インストールに問題が発生していた可能性があります。

postgresを停止するには、サービスを右クリックし、[停止]を選択します。

データベースに接続しようとしているときにエラーが発生した場合は、そのサービスが動作していることを確認してください。

特定のPostgreSQLバージョンの公式言語パックにあるPythonランタイムバージョンなどのEDB PostgreSQLインストールに関するその他の詳細については、公式のEBDインストールガイドを参照してください。インストーラのメジャーバージョンにリンクしてバージョンを変更してください。

Postgres.app for Mac OSX

PostgreSQLをMacにインストールするための非常に簡単なツールは、 Postgres.appをダウンロードすることで入手できます。
PostgreSQLをバックグラウンドで実行させるようにプリファレンスを変更することも、アプリケーションが実行されている場合にのみプリファレンスを変更することもできます。