タグ

lets-postgresに関するnabinnoのブックマーク (282)

  • CentOS で PostgreSQL を使ってみよう!(2) | Let's POSTGRES

    (3) インストールの確認 インストールしてどんなファイルができたのか?などを確認します。 『postgres』というアカウント が作成されていることを、「id」コマンドや「finger」コマンドで確認します。(各種 ID やホームディレクトリは、以下の例と異なる可能性があります。) [root @server1 ~]# id postgres uid=26(postgres) gid=26(postgres) 所属グループ=26(postgres) [root @server1 ~]# finger postgres Login: postgres Name: PostgreSQL Server Directory: /var/lib/pgsql Shell: /bin/bash Never logged in. No mail. No Plan. 「/usr/」にインストールされ、さま

  • 稼動統計情報を活用しよう(2) | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 稼動統計情報を取得してみよう では、実際に稼動統計情報を取得してみましょう。稼動統計情報は、PostgreSQLのテーブルやビューの形で提供されています。pg_stat_* という名称のテーブル/ビューがそれらに当たります。そのため、取得にはSQLを用います。なお、psqlの\dコマンドなどでpg_stat_*のビュー定義を見てみると、pg_stat_get_*() 関数で各種情報が取得されていることが分かると思います。稼動統計情報を直接取得するには関数を使うのですが、それをビュー経由でユーザが閲覧できるようになっています。項では、pg_stat_*で提供されているビューを読み解いていくことにします。 それでは、前ページの冒頭で紹介した情報について具体的に解説していきます。下記は稼動統計情報の中でも多用される情報ですので、覚えておくと

  • pgpool-II + Slony-Iクラスタ構成 | Let's POSTGRES

    各サーバマシンには、執筆時点で最新の pgpool-II 3.0.1 と PostgreSQL 9.0.2 をインストールします。pgpool-II のインストール方法については第2回の記事を参考にしてください。 以降、pgpool-II と PostgreSQL は「/usr/local」にインストールされており、データベースクラスタは「/var/pgsql/pgdata」にあるものとします。 また、Slony-I のデーモン slon は、マスタサーバとスレーブサーバで動かします。 PostgreSQLの設定 まず、pgpool-II と Slony-I からの接続を許可するため、マスタサーバとスレーブサーバの pg_hba.conf ファイルに次の1行を追加します。今回は簡易的にパスワード認証を使用せず、trust 認証を使用します。 host all all 192.168.1.0

  • Ubuntu で PostgreSQL を使ってみよう(続編) | Let's POSTGRES

    前回までで、Ubuntuに付属するPostgreSQLパッケージのインストールと使用方法を解説しました。 このページでは、Ubuntu独自のPostgreSQLパッケージの内容をもう少し詳しく説明し、 コミュニティ版との違いやデータベースの設定方法を解説します。 1. コミュニティ版との主な違い Ubuntu では、PostgreSQLの設定方法がPostgreSQLのマニュアルにかかれているものとは若干違います。 1.1 initdb がない PostgreSQLのプログラムをインストールした後でまず行わなければならないのは「データベースクラスタ」の初期化です。 データベースクラスタとは、PostgreSQLサーバが管理するデータベースの集まりのことで、 実際にはファイルシステムの指定した場所にデータベースを構成するファイルなどが格納されるようになっています。 このデータベースクラスタの

  • 稼動統計情報を活用しよう | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 稼動統計情報とは、PostgreSQLが独自に収集・記録している情報です。性能やDB内で起こっている問題などを把握する上で、とても重要です。DBMSでの稼動状況を確認・把握するのに非常に便利なので、この情報を活用し、問題の早期発見やチューニング方法の選択に役立てましょう。 稼動統計情報で分かること 稼動統計情報を活用すると、DBMSを運用する上でとても便利な情報が得られます。特に有用なものを紹介します。なお、稼動統計情報の内容はPostgreSQLのバージョンで若干異なり、新しいバージョンほど得られる情報が増えています。詳しくは「有用な情報を持つテーブル/ビュー」を見てください。 DB単位のコミット数やロールバック数 DB毎に、トランザクションのコミット回数やロールバック回数が分かります。それぞれ、スループットとエラー発生数と置き換える

  • PostgreSQL 8.4 の新機能 | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 2009年7月1日、PostgreSQL 8.4 がリリースされました。以前のバージョンから1年5ヶ月ぶりのリリースです。数多くの新機能が盛り込まれていますが、大まかに以下のカテゴリに分けて紹介します。今回は、応用SQL、大規模対応に引き続き、運用管理に関する新機能をご紹介します。 応用SQL 大規模対応 運用管理 その他の情報 その他の新機能 次のバージョンへ先送りされた機能 公式のリリースノートは PostgreSQL 8.4プレスキットを参照してください。ソースコードと各プラットホーム向けのバイナリもダウンロードできるようになっています。 応用SQLに関する新機能 応用SQLに関する機能では、特に「再帰SQL」と「Window関数」への対応が大きいでしょう。 PostgreSQL は標準SQLに良く準拠していると評価されることが多

  • OSS の開発コミュニティってどんなところ?(3) | Let's POSTGRES

    PostgreSQL 開発の実際 実際に PostgreSQL に機能を追加/改良/修正するときに,開発コミュニティの中でどのようにして処理されていくのかを見てみましょう. まずはディスカッション PostgreSQL の開発コミュニティでは,意志決定の際にディスカッションが重視されます. PostgreSQL の開発においてもそれは例外ではなく,開発者は,実現したい機能の仕様について,メーリングリスト上で説明することが求められます.これはコアメンバであっても例外ではありません. これをさぼっていきなりパッチを送りつけても,まずコミュニティに受け入れられることはありません.英語でのディスカッションはなかなか大変ですが,相当ひどい英語でも結構皆さん我慢してつき合ってくれますので,臆せず挑戦しましょう. 議論の際に使われるメーリングリストは,「pgsql-hackers」というものです.このメ

  • 第5回 PostgreSQL でのデータベース構築の際に必要となる物理設計のポイント | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 板垣貴裕 データベース・サイジング サイジングとは、サービスの開始前に、想定される負荷や格納されるデータ量を見積り、十分な性能や規模のサーバおよびストレージを用意することです。 今回は、サイジングの要素のうち、ストレージサイズの計算方法を紹介します。 データファイルの構成 PostgreSQL はデータベース・クラスタと呼ばれるディレクトリの下に、複数のディレクトリやファイルを作成します。 容量の多くを占めるのはアプリケーションが使うテーブルやインデックスになるでしょうが、それ以外にも管理領域やログのためのディスク領域が必要になります。

  • 技術的な記事 | Let's POSTGRES

    メインコンテンツに移動 機能、分析、性能チューニング、運用監視など技術的な話題を扱います。 ブックナビゲーション 入門向けの記事 技術的な記事 PostgreSQL13の新機能 PostgreSQL 8.4 の新機能 PostgreSQL 9.0 の新機能 PostgreSQL 9.1 の新機能 PostgreSQL 9.2 の新機能 PostgreSQL 9.3 の新機能 PostgreSQL 9.4の新機能 PostgreSQL 9.5の新機能 PostgreSQL 9.6の新機能 PostgreSQL10の新機能 PostgreSQL11の新機能 PostgreSQL12の新機能 PostgreSQL14の新機能 PostgreSQL15の新機能 PostgreSQL16の新機能 pgpool-II 3.2 の新機能 pgpool-II 3.3 の watchdog 機能 pgpoo

  • ロケール(国際化と地域化) | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 PostgreSQL でロケール (国際化と地域化) の設定を行うと、データベース内での文字列処理、日付や通貨の表示、メッセージの言語などを変更することができます。特に PostgreSQL 8.4 では、日語のメッセージ・カタログが追加されたため、エラーメッセージを日語化したい場合にはロケールを設定する必要があります。 ただし、C ロケール以外を設定すると、インデックスが使われないなどの性能への影響がある場合もあります。また、特に古いバージョンの PostgreSQL では、誤った設定によりサーバが正しく動作しなくなるケースもありました。 この記事では、ロケール設定の効果を結果例を交えて解説すると共に、トラブルへの対応方法を示します。PostgreSQL で日語を扱う際に、ロケール設定を決める時の参考にして下さい。 Postgr

  • PostgreSQL 9.3の新機能: 更新可能VIEW | Let's POSTGRES

    SRA OSS, Inc. 日支社 石井 達夫 現在開発中のPostgreSQL 9.3ですが、徐々に新機能が出揃ってきました。その中の一つに「更新可能VIEW」("Updatable view")というのがあります。これはその名の通り、更新可能なVIEWを作る機能です。 VIEWとは? VIEWとは、実際には存在しないテーブルのことで、CREATE VIEWというコマンドを使って定義します。VIEWは一種のマクロと考えることができ、よく使うSELECT文をVIEWとして定義することにより、複雑なSELECT文を毎回打ち込む手間を省くことができます。 たとえば、 CREATE VIEW mytable_foo AS SELECT * FROM mytable WHERE id = 'foo'; としておくと、 SELECT * FROM mytable_foo; とするだけで、 SELE

  • ホーム | Let's POSTGRES

    メインコンテンツに移動 お知らせ Let’s Postgres 運営管理についてのお知らせ コンテンツメニュー 導入検討 と 入門 インストール 運用管理 チューニング 新機能: 16 / 15/ 14 / 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 トラブルシュート サポートとFAQ 事例紹介 イベントレポート リンク集 レプリケーション / クラスタ構成 XML / PostGIS / 拡張モジュール パーティショニング / テキスト検索 Window関数 / 再帰SQL / 外部データ連携 文書: 15 / 14 / 13 / 12 / 11 / 10 / 9.6 / 9.5 Let's PostgreSQL は特定非営利活動法人日PostgreSQLユーザ会が運営しています。 RSS feed

  • テキスト検索の方法とインデックス | Let's POSTGRES

    板垣 貴裕 テキスト検索にもさまざまな方法があります。大量のテキストを検索するにはインデックスを使って検索したいところですが、どんな検索にも応えられるインデックスというものは、さすがに存在しません。それぞれのアプリケーションの条件に適したテキスト検索方法やインデックスの張り方を選んで行きましょう。 今回説明するテキスト検索の方法の一覧を以下に挙げます。PostgreSQL ユーザが「全文テキスト検索」というと「単語単位の検索」を指すことが多いようです。また、「中間一致検索」が「あいまい検索」と呼ばれることもあるようです。用語が厳密な意味で使われないことも多いようなので、文脈には注意して解釈してください。 「単語単位の検索」と「中間一致検索」では、追加のモジュールを導入することで日語全文検索が可能なインデックスを作成できます。こちらは説明の後半で紹介します。以下、記事の内容です。 テキス

  • LATERALを使ってみよう | Let's POSTGRES

    笠原 辰仁 記事は2015年のPostgreSQL Advent Calendarの 12/3 の記事です。PostgreSQL9.3でサポートされたLATERALについての解説と使いどころについて紹介します。 はじめに PostgreSQLは幅広くSQL標準(ではないものも含む)の句や構文をサポートしており、それが製品の特徴の一つでもあります。PostgreSQL8.4でサポートされたWindow関数やWITH句はその引き合いに出されることが多いです。 さて、PostgreSQL9.3からはLATERALという句がサポートされています。やや地味で使われることが少ないため、ご存知の方は少ないかもしれません。しかし、LATERAL句は、使いどころによっては非常に強力な武器になります。 注意 記事ではテーブル定義や実行計画等を記載している箇所がありますが、幅の表示上、見やすいように改行して

  • Window関数 | Let's POSTGRES

    また、CREATE FUNCTION 文でユーザ定義のWindow関数を追加することもできますが、バージョン 8.4 ではC言語で関数を記述する必要があります。SQLやPL/pgSQLは使えないので、敷居は高いかもしれません。 例 典型的なWindow関数の使い方を挙げます。この他にも、これまで複雑なSQLが必要だったさまざまなケースを効率化できる可能性がありますので、SQLパズルだと思って試してみてください。。 連番付与 連番付与を行います。ソートした後、番号をふるのがポイントです。 SELECT row_number() OVER (), * FROM (SELECT * FROM tbl ORDER BY sortkey) AS t; ただし、結果の最大行数を指定するには、row_number との値の比較ではなく、これまでどおり LIMIT 句を使ってください。row_number

  • 文字列型の使い分け | Let's POSTGRES

    また、PostgreSQL にはいわゆる CLOB, BLOB のような巨大データ専用の型は存在せず、1GB までであれば text や bytea 型をそのまま使えます。1GB を超える場合はラージオブジェクトも利用できますが、アクセスや管理の方法にクセがあるためお奨めできません。数MBまでは text や bytea を使い、それを超えるようなら外部ファイルとして保持したほうが、むしろ安心して運用できるかと思います。 char と varchar, text の比較 PostgreSQL の文字列は以下のような特徴があります。 1. char(n) や varchar(n) の 'n' は「文字数」を表す 他のデータベースではバイト数を表すものもあるので注意しましょう。 2. char(n) は n 文字になるように末尾に空白を追加して保持する n 文字ぴったりで無い限り、末尾の空白の

    文字列型の使い分け | Let's POSTGRES
  • 大量のデータを高速に投入するには | Let's POSTGRES

    FORCIA, Inc. 板垣 貴裕 PostgreSQL に大量のデータを高速に取り込む方法を紹介します。 COPY という専用のコマンドを使うと INSERT よりもずっと高速です。 また、COPY を使う際にひと工夫すると、さらに速くなります。 高速にデータをロードするコマンド INSERT の代わりに COPY FROM を使う PostgreSQL には COPY FROM という大量データ取り込み専用のコマンドがあります。 COPY コマンドは外部からタブ区切り (.tsv) やカンマ区切り (.csv) のファイルを読み込める上に、INSERT よりもずっと高速です。 同様に、pg_dump コマンドも -d や --inserts オプションを付けると INSERT を並べたダンプファイルを作ってしまいます。 オプションを付けないデフォルトでは高速な COPY 形式なので、

  • gihyo.jp & Let's Postgres 連動企画 今こそ!PostgreSQL | Let's POSTGRES

    gihyo.jp & Let's Postgres 連動企画 今こそ!PostgreSQL gihyo.jp と Let's Postgres で 3 ヵ月に渡り交互に記事を掲載する連動企画です。(2009年9〜12月) 初の国際カンファレンスであった PostgreSQL Conference 2009 を記念したものです。 第1回 PostgreSQLの今を知る 記念すべき第 1 回は、PostgreSQL の今を知るために、改めて PostgreSQL について見つめなおします。(gihyo.jp に掲載した記事の再掲載です。) 第2回 PostgreSQLの機能を他のデータベースと比較してみてみよう PostgreSQL の機能と他の RDBMS の比較です。PostgreSQL を商用 RDBMSMySQL と比較して紹介します。 第3回 PostgreSQLの利用事例と情

  • UbuntuでPostgreSQLを使ってみよう (2) | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 鈴木 幸市 4. 設定 設定で行うことは次のとおりです。 管理ユーザ(postgres) でログインできるようにする。 管理ユーザでログインしてデータベースを作る データベースに自分のアカウントでログインできるように設定する。 では、順を追ってやり方を示していきます。 4.1 管理ユーザでログインできるようにする PostgreSQLをインストールした時点で、すでにデータベースの管理ユーザであるpostgresユーザが作られています。しかし、このユーザのパスワードは不定で、このままではログインができません。最初にデータベースを作ったりデータベースのユーザを設定するためには、postgresユーザにならなければなりません。そこで、postgresユーザログインできるようにパスワードを設定しましょう。 パスワードの設定には、「端末」を使います。これは、

    UbuntuでPostgreSQLを使ってみよう (2) | Let's POSTGRES
  • PostgreSQL10の新機能 | Let's POSTGRES

    PostgreSQL 10 は 2017年秋にリリース予定です。既にベータ版はリリースされています。記事では、PostgreSQL 10の新機能を解説した資料を紹介します。 「篠田の虎の巻」 第7弾 『PostgreSQL10 beta1 検証結果』 (文書の概要と紹介ページ) beta1時点で作成された日ヒューレットパッカード篠田様による技術文書です。主要な機能について動作例を含む詳しく解説されています。 PostgreSQL10徹底解説(スライド資料) NTT OSSセンタ澤田様による OSC Hokkaido 2017 でのJPUG北海道支部講演のスライド資料です。 「次期バージョン PostgreSQL 10 の 新機能とその後の方向性」(スライド資料) SRA OSS, Inc. 長田様のJPUGセミナーおよびdb tech showcase 2017 での講演スライド資料