読者対象 ある程度データベースに関する知識を持っている,経験年数 1 年以上のバックエンドエンジニア 特定のプログラミング言語に依存する部分は含めないため,すべての SQL 使用者を対象とする また,ゼロからの丁寧な説明というよりは,リファレンス感覚で使える記事という形にまとめる。 RDBMS の対象バージョン PostgreSQL: 9.4 以降 MySQL: 8.0.28 以降 id (データ型と INSERT 時のデフォルト埋め) 導入 一般的に採用されやすいプライマリキー用の値として,以下を考える。 連番整数 MySQL では AUTO_INCREMENT, Postgres では IDENTITY や SERIAL と呼ばれるもの UUID v1: ハードウェアごとにユニークな単調増加値 UUID v4: ランダム値 UUID v7(ドラフト): 単調増加であるタイムスタンプとラ
メリークリスマス 本記事はPostgreSQL Advent Calendar 2021の25日目です。今年も面白い記事がたくさん揃いましたね!!! さて、みなさん今年のPostgreSQLライフはどんな感じでしたでしょうか? 私はというと、なんだかチューニングばっかりやってました。1案件でいろいろお手伝いすることはまあまああったのですが、複数から次々チューニングの相談をもらって、歴代継承者の個性を発現したデクくんのごとく駆け回ったのが今年のハイライトです。 (この綱渡り感、、、伝われ!!!) 俺たちは雰囲気でチューニングしている 今回上手くいったけど、あの時たまたまひらめいた1案をぶつけてみたら効果でたのであって、次善の策なんてなかったけど??って毎回思ってるから、雰囲気でやっていると思う、マジで。コミュニティのノリだと笑いが起きていいんですけど、少しでも勝率を上げるために、若手の前でド
PostgreSQL 14からJSONBデータをサブスクリプトに対応しました。 JSON型のみ対応し、JBON型では対応していことに注意。 PostgreSQLは9.2からJSONデータに対応しています。 スキーマを意識せずにデータを格納できるため、重宝する一方で、参照・更新時のアクセス方法が独特でとっつきにくいところもありました。 PostgreSQL 14から直感的なサブスクリプト(辞書/マップ)風のアクセスにも対応したため、この方法を紹介します。 ポイント PostgreSQL 14から連結配列風のサブスクリプトに対応。 JSONB型のみ対応。JSON型は未対応 戻り値はJSONB型なので、適宜型をあわせる やってみた 前提 PostgreSQL 14 を起動します。 test=> select version(); version -------------------------
毎度、ググっても出てこない小ネタを取り扱っております。 本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。 0. はじめに ここ1年ぐらいのOmnibus GitLabは立て続けにPostgreSQLがアップグレードされました。 2019年末にPostgreSQL 9.6系だったGitLabがPostgreSQL 10系にアップグレードされました。 2020年5月に、PostgreSQL 10系が11系にアップグレードされ、 2020年10月に、PostgreSQL 12系のサポートが追加されました。 ■2019年12月10日 OmnibusインストールされたGitLabのPostgreSQLを9.6.14から10.9にアップグレードした話 - Qiita https://qiita.com/ynott/items/653236f1a5c2ab8cf69f ■20
GoのORマッパー連載の2日目の記事です。 データベースでパフォーマンスが大きな問題になりがちなのが、バッチでのデータのインサートと、複雑なクエリーです。が、今回は後者は置いといて、前者のデータの取り込みについて扱います。データの挿入の高速化は最近、ちょびっと大事かなと思うところがあります。というのも、バッチ処理をクラウド上で実行するといろいろな制約が襲ってくるからです。 クラウドサービスとバッチの時間制限AWSのLambdaは15分(900秒)です。GCPのCloud Functionsは9分(540秒)。この時間で済むならスケジューラサービスと繋げて定時実行でLambdaとかで処理できれば運用はとても簡単です。もうちょっと厳しい制限だと、AWSのAPI Gatewayは30秒制限です。この時間内であれば、サーバーレスな管理画面からアップロードしてデータをバルクインサートみたいなことが簡
困っていた内容 RDS for PostgreSQL でメジャーバージョンのアップグレードを計画しているため、拡張機能を使用しているか確認したいです。 確認方法を教えてください。 どう対応すればいいの? RDS for PostgreSQL で現在インストールされている拡張機能を一覧表示するには 該当の DB インスタンスへ接続し、以下のコマンドを実行します。 SELECT * FROM pg_extension; 以下の2点を比較し、拡張機能を使用しているかご確認ください ご利用中の PostgreSQL バージョンのデフォルトの拡張機能 対象 DB インスタンスで利用している拡張機能 参考情報 以下は RDS for PostgreSQL を起動し、デフォルトの拡張機能のままコマンドを実行した結果の例です。 ※2021年6月15日現在 の情報となります PostgreSQL 9.6.2
はじめに こんにちは、望月です。 RDS for PostgreSQLへの移行を行い、ひさしぶりにPostgreSQLを触ることになりました。 マネージドサービス特有の留意ポイントがあったため、今後RDS for PostgreSQLへの移行を考えてる人の役に立てばと思い、共有致します。 PostgreSQLのロケール設定 PostgreSQLを使う上で、ロケールを無効にする、 --no-locale するといったことをあるかと思います。 これはロケールを C で設定するという意味であり、この設定は文字列のソート順序に影響があります。 ロケールについては、下記サイトに詳しいことが書かれているので参考にしてください。 ロケール(国際化と地域化) このロケール設定ですが、昔(8.3以前)はinitdbコマンド実行時にのみロケールの指定ができるということで、 最初に initdb --no-lo
PostgreSQL on Linuxの環境ではlc_xxx系のパラメータにJapanese_Japan.932が指定できないので注意しましょう!! CX事業本部@大阪の岩田です。 ライセンスコストの削減等を目的にPostgreSQL on Windows Serverの環境からEC2やRDSの環境に移行するようなユースケースではPostgreSQLのlc_xxx系のパラメータに注意が必要です。 日本語環境のWindowsに「次へ」、「次へ」で標準インストールしたPostgreSQLはlc_xxx系のパラメータがJapanese_Japan.932でデータベースクラスタが構築されます。このJapanese_Japan.932というパラメータはWindows上にPostgreSQLをインストールした場合しか指定できないため、Linux環境ではlc_xxx系のパラメータに何を設定するべきか検討
PostgreSQLに超高速な日本語全文検索機能を追加するPGroongaを開発している須藤です。今回はPGroongaやpg_bigmなど拡張モジュールを使わずにPostgreSQLの組み込み機能だけで日本語全文検索を実現する方法を紹介します。PGroongaを使う方法はRuby on RailsでPostgreSQLとPGroongaを使って日本語全文検索を実現する方法を参照してください。 Heroku PostgresなどDBaaSとして提供されているPostgreSQLではPGroongaを使えません。(DBaaSとして提供しているベンダーがPGroongaをインストールしてくれないから。)PostgreSQLの組み込み機能だけでは日本語全文検索を満足に実現することができないので、DBaaSのPostgreSQLを使っていると次のように日本語全文検索で困ってしまいます。 日本人のプ
環境 MAC OSX 10.10.5 Yosemite 使い方(例) テーブルの準備 CREATE TABLE items ( id SMALLINT , name VARCHAR(16) , item_id SMALLINT , item_name VARCHAR(16) , PRIMARY KEY(id, item_id) ); INSERT INTO items VALUES (1, '文房具', 1, 'シャーペン') , (1, '文房具', 2, '消しゴム') , (1, '文房具', 3, '定規') , (2, 'かばん', 1, 'リュックサック') , (2, 'かばん', 2, 'ショルダーバッグ'); CREATE TABLE genre ( id SMALLINT , name VARCHAR(16) ,PRIMARY KEY(id) ); # SELECT *
はじめに 練習用に手頃なサンプルデータベースが欲しくなることってありますよね? 僕の場合だとブログを書くときにサンプルが欲しくなったりするのですが、結果的にはPostgreSQL Tutorialにあったのですが、探すのに少し苦労しましたのでメモします。 環境 MacOS 10.10.5 PostgreSQL 9.4.5 ※PostgreSQLのインストールについては割愛します。 サンプルデータベースを作る まずはPostgreSQL Tutorialからサンプルをダウンロードします。 次にサンプルデータを入れるためのデータベースを用意します。 PostgreSQL内で CREATE DATABASE dvdrental; 次にunzipコマンド先ほどダウンロードしたzipファイルを展開します。 unzip dvdrental.zip 次に同じディレクトリで以下のコマンドを叩きます。 pg
A Wikibookian suggests that this book or chapter be merged into SQL Dialects Reference. Please discuss whether or not this merge should happen on the discussion page. You may have read a bunch of short articles with the same name on the web, but they were just snippets of information you needed. It's time to put it all together. You have a project in MySQL and suddenly you find out that you need t
smallintはint2、integerはint4 およびint、bigintはint8と同意です。またsequenceを使うという機能を除けば、serialはintegerと、bigserialはbigintと同様の動きをします。これらは小数点以下のない「整数値」です。 serial、bigserialの値のフォーマット・範囲のチェックなどはinteger、bigintと同じですので、以下はそれぞれに読み替えてください。 64bitシステムでの整数値のチェック smallintとinteger まず、値が負でない(すなわちマイナス記号がつかない)ことを必須にしてしまってよければ、smallintやintegerのチェックは簡単です。 if(!ctype_digit($_REQUEST['num']) || $_REQUEST['num'] > 32767) { // NG処理 } これ
readlineのインストール † readlineをインストールします。ソースファイルは下記URLです。 特別な設定は不要なので、淡々と進めます。 http://ftp.yz.yamagata-u.ac.jp/pub/GNU/readline/ cd /usr/local/src curl -O http://ftp.yz.yamagata-u.ac.jp/pub/GNU/readline/readline-6.0.tar.gz tar -zvxf readline-6.0.tar.gz 次に、readlineをコンパイルし、インストールします。 cd readline-6.0 ./configure make sudo make install ↑ Postgreのインストール † 下記URLより、Postgresの最新版をダウンロードします。 http://www.postgr
This page does not exist, or has been moved! Here are some helpful links instead: Home Zabbix Overview Solutions Professional Services Technical support Training Program Partner Program Community About US Documentation Get started in 10 minutes - absolutely FREE Download Zabbix Zabbix is a professionally developed open-source software with no limits or hidden costs.
PostgreSQL 8.1は順調に開発が続いており,既に「フィーチャーフリーズ」(新たに機能を追加しない)フェーズに入っている。この後は9月位にベータ・リリース,年内には正式リリースとなる見込みが高くなった。 前回お伝えしたように,8.1で追加された機能の最大の目玉は2相コミットだが,それ以外にも興味深い機能や性能向上がなされている。今回はその中からまだ紹介していなかったものをいくつかとりあげよう。 autovacuumの本体への取り込み autovacuumは,contribモジュールの一つとして提供されており,データベースの状態を判断して自動的にVACUUMを実行する自立したサーバーである。 PostgreSQLは実行性能を維持するためには,VACUUMの実行が欠かせない。反面,VACUUMの適切な実行間隔や実行頻度をどの程度にするかは実際に運用するデータベースの規模やアクセス頻度に
NTT オープンソースソフトウェアセンタ 板垣 貴裕 この記事は、gihyo.jp & Let's Postgres 連動企画「今こそ!PostgreSQL」の第4回記事です。「PostgreSQLの今を知る」シリーズに続き、今回から 4回に分けて PostgreSQL の使い方を解説していきます。第4回目は、PostgreSQL の導入、管理ツール類、運用を始める前に確認しておくべきポイントについて解説します。 インストール、基本ツール、追加の GUI ツールについて解説します。 インストール PostgreSQL はソースコードや実行バイナリの形式で配布されています。32bit版と 64bit版がありますが、OS に併せて選ぶのが適当だと思います。(Windows では 32bit版のみ) インストールの手順は「目的別ガイド:インストール編」に一覧があります。CentOS, Ubunt
Herokuでは無料で使えるデータベースはPostgreSQLになります。Rubyなどであればdb:migrateなどのツールでDBを管理しますが、PHPではデファクトといえるほどのツールがありません。ひとまず手早く管理するべく。phpPgAdminに魔改造を施してHerokuの環境変数を読み取って動作するフォークを作成しました。導入方法PHPを使って動作しますので、PHPスタックで初期化されたアプリ内で下記のコマンドを実行してください。(Facebook Developerから作成したPHPアプリなどでOKです。)heroku addons:add shared-database git submodule add git://github.com/yandod/phppgadmin-heroku.git git add . git commit -m "Add phppgadmin-h
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く