PostgreSQL の特徴 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 2

Similar documents
PostgreSQL Plus 管理者ガイド

PostgreSQLによる データベースサーバ構築技法

Microsoft PowerPoint - 【修正版】OSS-DBセミナー講師資料_ pptx

CLUSTERPRO for Linux PostgreSQL HowTo

PostgreSQLのセキュリティを極める

目次 PostgreSQL の特徴 インストール インストール方法 環境変数 データベースクラスタ 起動 停止 設定ファイル postgresql.conf ログ出力設定 環境設定 ロール作成 データベース作成 psql バックスラッシュコマンド バックアップ リストア PITR (Point In

Microsoft PowerPoint _PostgreSQLConference2008_チュートリアル.ppt

別紙 : 検証環境の構築手順 ( 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサー

スライド 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

今さら聞けない!? Oracle入門 ~前編~

Microsoft Word - WE-InstMan382J sol.doc

今さら聞けない!? Oracle入門 ~後編~

スライド 1

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

薬剤在庫管理ソフト - インストール・バージョンアップ手順書

薬剤在庫管理ソフト - インストール・バージョンアップ手順書

PowerPoint Presentation

薬剤在庫管理ソフト - インストール・バージョンアップ手順書

POSTGRESQL 9.2 /POSTGIS (WINDOWS 版 ) 導入 設定手順書 (VER. 1) June 20, 2014

はじめに PostgreSQL/PowerGres サポート & 保守サービス でサポート対象になっているサードパーティ製のソフトを紹介 pgfouine pgbadger( 今後サポート対象にする予定 ) PgFincore pg_reorg pg_rman pg_bulkload pg_stat

Cuoreテンプレート

HeartCoreインストールマニュアル

MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

マニュアル訂正連絡票

日レセプラグイン

Microsoft Word - koutiku-win.doc

BOM for Windows Ver

intra-mart e-Builder ver 5

マニュアル訂正連絡票

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

Microsoft PowerPoint - MySQL-backup.ppt

PowerGres Plus V9.1 のご紹介 PostgreSQL をベースに信頼性とセキュリティをプラス SRA OSS,Inc. 日本支社マーケティング部 2015/10 Copyright 2015 SRA OSS, Inc. Japan All rights reserved. 1

VB実用Ⅲ⑩ フリーデータベースⅡ

MxLogonサーバサイドツールキット用UI

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

PowerPoint プレゼンテーション

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ

HeartCoreインストールマニュアル(PHP版)

第 2 版

HULFT8 for Windows/UNIX/Linux/zLinux の機能で発生する不具合について

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

スライド 1

pgpool-ii で PostgreSQL のクラスタを楽々運用しよう OSC Tokyo 2014/12/12 SRA OSS, Inc. 日本支社マーケティング部 OSS 技術グループ 長田 悠吾

プレポスト【問題】

改訂履歴 初版 2004 年 1 月 23 日 新規作成 2 版 2004 年 2 月 3 日 フォントの設定 を追加 3 版 2004 年 7 月 13 日 リソースファイルのダウンロード を追加 バージョン番号表記を変更 4 版 2005 年 11 月 21 日 リソースファイルのダウンロード

CodeGear Developer Camp

Java インストール手順書 第六版 ( 社 ) 日本医師会

2)PostgresSQL を他のパソコンからもアクセス出来るように設定する PostgreSQL をインストールしたパソコンの C:\Program Files\PostgreSQL\9.3\data\pg_hba.conf の下部で host all all /32 md5 と

Calpont InfiniDBマルチUM同期ガイド

Samba Install and Update Guide

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

MIRACLE System Savior操作手順書

intra-mart ワークフローデザイナ

intra-mart WebPlaform / AppFramework

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

日本 PostgreSQL ユーザ会第 28 回しくみ + アプリケーション勉強会 Zabbix を使って PostgreSQL を監視してみよう 2014 年 2 月 1 日 TIS 株式会社中西剛紀 (Yoshinori Nakanishi)

intra-mart EX申請システム version.7.2 事前チェック

スライド 1

(Microsoft Word - Compiere3.0Windows\203C\203\223\203X\203g\201[\203\213\203K\203C\203h.doc)

PowerPoint Presentation

PostgreSQL 9.4 評価検証報告 SRA OSS, Inc. 日本支社高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナー Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

目次 1. 改版履歴 概要 WEB 版薬剤在庫管理システムのインストール 事前準備 インストール アプリケーションのセットアップ 日レセと連携するための有効化設定 WEB

システム管理者ガイド GIGAPOD 3 システム管理者ガイド - 負荷分散構成 第 1.01 版 2013 年 3 月 改訂履歴 No バージョン 日付 作成者 改訂者 補足 /09 トライポッドワークス 初稿 /03 トライポッドワークス cr

スライド 1

Webアプリケーションでのlog4j利用ガイド

付録

PowerPoint Presentation

Sophos Enterprise Console

スライド 1

スライド 1

V-Client for Mac ユーザーズガイド

7th CodeGear Developer Camp

ESMPRO/ServerManager Ver. 6 変更履歴

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

WLX302 取扱説明書

DBMSリポジトリへの移行マニュアル

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

Helix Swarm2018.1アップグレード手順

5. データベースの設定 インストール先ディレクトリの設定 Setup 画面で Next> ボタンをクリックして Installation Directory 画面を表示し インストール先ディレクトリを入力します 次に Next> ボタンをクリックして Data Directory

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ

ActiveImage Protector 2016 R2 for Express5800 / ftサーバ

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

Microsoft Word - ACA_SetupCard.doc

Web 環境におけるレイヤー別負荷の 2 違い DB サーバ AP サーバ 後ろのレイヤーほど負荷が高く ボトルネックになりやすい

Microsoft Word 基_シラバス.doc

SmartPlant License Manager 8.0

アーカイブ機能インストールマニュアル

動作環境 対応 LAN DISK ( 設定復元に対応 ) HDL-H シリーズ HDL-X シリーズ HDL-AA シリーズ HDL-XV シリーズ (HDL-XVLP シリーズを含む ) HDL-XV/2D シリーズ HDL-XR シリーズ HDL-XR/2D シリーズ HDL-XR2U シリーズ

システムパッケージリリース情報-Version5.0.0pre

データベース暗号化ツール「D’Amo」性能検証

Transcription:

PostgreSQL 入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

PostgreSQL の特徴 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 2

PostgreSQL とは 1996 年 ~ インターネットを利用したボランティア開発体制 中心となる開発者は 30 人程度 バージョンは 6.0 から http://www.postgresql.org/ ( 本家 ) http://www.postgresql.jp/ ( 日本 PostgreSQL ユーザ会 ) Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 3

PostgreSQL の生い立ち Ingres アメリカカルフォルニア大学 (UCB) で開発された 最も初期の RDBMS CA-Ingress II Postgres UCB で研究目的で開発 ユーザ増加 バージョン 4.2 で打ち切り Illustra postgres95 Informix ソースコードの見直しと改良 PostgreSQL Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 4

バージョン番号規則 8. 2. 6 メジャーバージョン マイナーバージョン メジャーバージョンは仕様の追加 変更がある 移行には付属コマンドでのバックアップ リストアが必要 マイナーバージョンは主にバグ修正 2008 年 1 月現在の最新バージョンは 8.2.6, 8.1.11, 8.0.15, 7.4.19 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 5

PostgreSQL の主な特徴 フリー & オープンソース BSDライセンス 利用 コピー 配布の自由 義務は著作権表示のみ 免責 広告情報は無し ( いわゆる修正 BSD ライセンス ) SQL92/99/2003 のサポート Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 6

PostgreSQL の主な特徴 豊富なプラットフォームに対応 Linux を含むほとんどの UNIX 系システム Windows Mac OS X 本格的な DBMS トランザクション オプティマイザ マルチバイトサブクエリー 外部キー 手続き言語 トリガートランザクションログ テーブルスペース PITR テーブル継承 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 7

PostgreSQL の主な特徴 Windows 版はインストーラが用意されている 商用データベースと比べてコンパクト でも機能は勝らずとも劣らず 性能もそこそこ ( 数千万件でも問題なし ) 無料で利用できる 個人マシンなどに簡単にインストールできるので リレーショナルデータベースの学習にも最適! Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 8

クライアント / サーバ構成 ネットワーク対応 フロントエンド ( クライアント ) バックエンド ( サーバ ) クライアント / サーバの OS の違いを吸収 軽量クライアント データベースエンジンの変更に影響されにくい クライアント A クライアント B クライアント C PostgreSQL Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 9

PostgreSQL に接続可能な言語 API C ecpg (CにSQLを埋めこむプリプロセッサ) Java Tcl/TK Python C++ Perl PHP Ruby ODBC.Net Data Provider VisualWorks Smalltalk Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 10

マルチバイト対応 文字エンコーディング データベースごとに指定 クライアントごとに通信するエンコーディングを指定可能 自動的に変換することで EUC_JP のデータベースに SJIS クライアントで通信したり UNICODE のデータベースに EUC_JP で通信することができる 日本語では以下の組み合わせが可能 バックエンド ( データベース ) フロントエンド ( クライアント ) EUC_JP UNICODE (UTF-8) EUC_JP SJIS UNICODE EUC_JP SJIS UNICODE Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 11

PostgreSQL を動かす Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 12

Linux の場合 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 13

PostgreSQL のソースコード 本家 もしくは JPUG ホームページからダウンロード サイズ目安 tar.bz2 アーカイブ 12MB アーカイブを展開して 130MB コンパイル前 プログラム本体 オンラインマニュアル ライブラリ + ヘッダファイル 13MB 9MB 9MB コンパイル後 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 14

コンパイルとインストール./configure make make install 最近の Linux ディストリビューションであれば特別な手順はなくインストールできる ソースコードからインストールする場合は RPM パッケージと競合しないように注意./configure 時にインストール先などを指定できる./configure --help でヘルプ表示 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 15

Windows の場合 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 16

Windows 版バイナリ 日本語版インストーラから一発インストール サービスの登録 管理ユーザ作成なども自動化 データベースを操作する GUI ツールも付属 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 17

Linux / Windows 共通 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 18

インストールされるコマンド createdb データベース作成 pg_config インストール情報 dropdb データベース抹消 pg_ctl PostgreSQL の起動 createuser ユーザ登録 pg_dump データベースのバックアップ dropuser createlang ユーザ抹消プログラミング言語追加 pg_dumpall pg_restore データベース全体のバックアップ データベース復旧 droplang プログラミング言語削除 psql SQL インタプリタ initdb データベースクラスタ初期化 vacuumdb データベースのガベージコレクション Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 19

データベースクラスタ PostgreSQL のデータが全て格納されるディレクトリ initdb コマンドで最初の 1 回だけ実行 データベースクラスタ データベース A システムデータベースがデフォルトで作成される 環境変数 $PGDATA で指定 一般的に /usr/local/pgsql/data template0 template1 postgres テーブル テーブル テーブル データベース B テーブル Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 20

起動 停止 pg_ctl コマンド 起動 pg_ctl -D $PGDATA -w start 再起動 pg_ctl -D $PGDATA restart 停止 pg_ctl -D $PGDATA -m f stop root では実行できない -w wait の略 処理が完了したらプロンプトを戻す 停止の時は デフォルトで有効になっている -m { s f i } mode の略 smart 全てのクライアントが切断するまで待つ ( デフォルト ) fast クライアントが切断するまで待たない ) immediate クリーンアップ処理なしで 全サーバプロセスを中断 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 21

postgresql.conf $PGDATA 配下にある 書式 # で始まる行はコメント 設定ファイル パラメータ = 値 変更を反映させるためには pg_ctl -D $PGDATA restart pg_ctl -D $PGDATA reload Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 22

設定ファイル主なパラメータ listen_addresses max_connections silent_mode port shared_buffers max_files_per_process log_destination log_connections redirect_stderr client_encoding 接続を受け付ける IP アドレスを記述 * なら全ての IP インターフェイスで受付 空なら UNIX ドメイン接続のみ データベースサーバへの同時接続の最大数 true の場合 サーバはバックグラウンドで起動し 制御端末は切り離される 接続ポート番号 デフォルトは 5432 共有メモリバッファをページ数で指定 デフォルトは 1000 プロセスあたりのファイルオープン最大数 ログの出力先を指定 stderr syslog eventlog クライアントが接続したことをログに取るようにする stderr に出力したエラーを $PGDATA/pg_log 以下のローテーションするログファイルにリダイレクトする クライアント側文字エンコーディングのデフォルトを指定 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 23

PostgreSQL の設定 PostgreSQL の動作 リソースに関しては全て postgresql.conf で設定する インストール直後 ( デフォルトの設定 ) の postgresql.conf は非力なマシンでも動作するように設定されている PostgreSQL の性能を引き出すためには 個々のマシンに沿った設定が必要! Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 24

PostgreSQL を使う Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 25

createuser コマンド ユーザ作成 PostgreSQL 8.1 からは ロール でユーザとグループを管理する SQL の CREATE ROLE 文も利用可能 [postgres]$ createuser taro Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) n CREATE ROLE Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 26

データベース作成 createdb コマンド [postgres]$ createdb データベース名 CREATE DATABASE データベースクラスタ ($PGDATA) には複数のデータベースを作成できる データベースごとに所有者を決められる SQL の CREATE DATABASE 文も利用可能 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 27

アンインストール データベース / ユーザ削除 アンインストールはデータベースクラスタとインストールディレクトリを削除するだけ [postgres]$ rm -rf $PGDATA [postgres]$ rm -rf /usr/local/pgsql データベース削除 dropdb コマンド DROP DATABASE 文 ユーザ削除 dropuser コマンド DROP ROLE 文 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 28

SQL の実行 psql コマンド psql [ オプション ].. [DB 名 [ ユーザ名 ]] 対話型 SQL インタプリタ ( クライアントアプリ ) ユーザが入力した SQL をデータベースサーバ ( バックエンド ) に接続して送信する SQL の処理結果を受け取りユーザに表示する Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 29

psql スクリーンショット SQL 入力 バックエンドからの結果表示 接続中のデータベース Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 30

SQL 標準 SQL に準拠しているので 通常の SQL は問題なく使える SELECT, UPDATE, INSERT, DELETE CREATE TABLE, JOIN, OUTER JOIN インデックス ビュー 外部キー スキーマサブクエリー トリガ シーケンス カーソル... 一部方言 独自拡張がある Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 31

データ型 1レコードの1カラムあたり 1GBまで 豊富な組み込みデータ型 ユーザがデータ型を作れる ( ユーザ定義データ型 ) 主な組み込みデータ型 数値通貨文字 日付真偽幾何 ネットワークアドレスビット列ラージオブジェクト 配列 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 32

ログ 独自のログ機能で取得 ローテーションなどを行える postgresql.conf で設定 ログ出力先 ログ出力内容 syslog にも出力可能 時刻 PID SQL 文 ユーザ名 データベース名など ローテーションサイズ / 時間 redirect_stderr = on ログが $PGDATA/pg_log/ 以下に出力される Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 33

バックアップ / リストア pg_dump コマンド データベース単位でバックアップを取得 pg_dumpall コマンド データベースクラスタ全体のバックアップを取得 デフォルトは SQL 文で論理バックアップを作成する データベースを停止する必要がない リストアは psql を使い SQL 文から復元する ポイント イン タイム リカバリ (PITR) 機能もある Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 34

PostgreSQL の機能 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 35

PITR バックアップとトランザクションログを使って... データベースを最新状態へリカバリ ディスク障害などへの対応 特定の時点へデータベースをロールバック データを誤って削除してしまった場合などへの対応 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 36

PITR の仕組み 更新内容 W A L ログを退避 1 2 3 更新 アーカイブログ リカバリ 更新を適用 データベース スナップショット 物理バックアップ Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 37

VACUUM データベースのガベージコレクション PostgreSQL は追記型アーキテクチャ UPDATE tbl SET val = 'BBB' WHERE val = 'AAA'; val='aaa' val='aaa' 不要領域 val='aaa' 再利用可能 UPDATE VACUUM 追記 val='bbb' val='bbb' Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 38

vacuumdb コマンド VACUUM の種類 VACUUM 運用を妨げずに並行して実行可能 データベースのサイズは基本的に変わらない 再利用されるだけで ファイルサイズが小さくなるわけではない VACUUM FULL (vacuumdb -f) 実行中はテーブルを完全にロックしてしまう ファイルの再利用可能領域を詰めて サイズを小さくする Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 39

VACUUM はいつ実行すればよい? 全データベースに対して最低 1 日に 1 回 更新頻度によっては 個別テーブルに対して頻度を上げる VACUUM FULL は通常使わなくてよい Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 40

セキュリティ ホストによる認証 pg_hba.conf 設定ファイル パスワード認証 ident 認証 pam 認証などを IP アドレス ユーザ名 データベース名ごとに設定できる ユーザの権限 テーブル ビュー シーケンスといったオブジェクトに 検索 更新 削除などの権限を設定できる GRANT / REVOKE 文 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 41

その他の機能 テーブルスペース データベースクラスタとは別のディスクにテーブルを構築できる PL/pgSQL SQL 手続き言語でユーザが関数を定義できる 二相コミット 分散されたトランザクション間での同期をとることができる テーブル継承 親テーブルを継承する子テーブルを複数作成し データを クラスタ化できる Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 42

PostgreSQL を使ってみよう! ご清聴ありがとうございました Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 43