postgresql チュートリアル
postgresqlを使い始める
サーチ…
備考
この節では、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 |
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プロジェクト( PGDG )が提供するYumリポジトリを使用して、別のバージョンを取得することもできます。これにより、まだオペレーティングシステムパッケージリポジトリによって提供されていないバージョンが許可される可能性があります。
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インスタンスが動作しています。
Postgres.app for Mac OSX
PostgreSQLをMacにインストールするための非常に簡単なツールは、 Postgres.appをダウンロードすることで入手できます。
PostgreSQLをバックグラウンドで実行させるようにプリファレンスを変更することも、アプリケーションが実行されている場合にのみプリファレンスを変更することもできます。
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 / V8 、 PL / 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インストールガイドを参照してください。インストーラのメジャーバージョンにリンクしてバージョンを変更してください。
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
実行します。
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 clean
にmake clean
にきれいにする
拡張スイッチの場合、 cd contrib
ディレクトリにmake
を実行make
、 make install