「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
はじめに こんにちは、solaris チームでバックエンドを開発している大迫(m11o)です。 私たちが開発している solaris は、UPSIDER の法人カード基盤の一部を担うサービスです。UPSIDER では、自社で磨いてきた法人カード基盤を「パートナー企業が自社ブランドのカード事業を立ち上げられる形」(マルチブランド対応)で外部提供する取り組みを進めており、その基盤は複数のマイクロサービスで構成されています。solaris はその中でカード管理基盤、つまりカードの発行・利用枠の管理や VISA 決済処理まわりを担当しています。 この全体像(マルチブランド対応や、なぜマイクロサービスに…
関連記事 概要 参考情報 関連記事 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ · GitHub 概要 以下、自分用のメモです。よく忘れるので、ここにメモメモ。。。 たまにクエリの実行時間だけ見たくて出力を捨てたいときがあります。 以下のようにすると、出力をすてて実行時間が直ぐ見れます。 \o /dev/null そのまんまですが、出力を /dev/null に向けて捨てます。この後にクエリを実行したらオッケイ。\timing on も付けておいたら実行時間だけ見れます。 元に戻す場合は \o とすれば戻ります。 昔ながらのやり方では…
こんにちは、デリッシュキッチン開発部の鈴木です。 概要 Data Definition Language(DDL、データ定義言語)、つまり CREATE TABLE や ALTER TABLE でスキーマを変更する操作を、トランザクションの中で実行してあとからロールバックできるかは、データベースによって違います。MySQL ではロールバックできず、PostgreSQL ではロールバックできます。 ロールバックは、1 つのトランザクションの中で行った変更を、記録しておいた変更前の状態に戻す操作です。だからロールバックするには、その操作が 1 つのトランザクションに収まっていること、そしてその変更…
関連記事 概要 参考情報 関連記事 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ · GitHub 概要 以下、自分用のメモです。よく忘れるのでついでにここにメモメモ。。。 何かの検証作業とかやってて、頻繁にテーブルを作ったり消したりしているときに毎回頑張ってDROP TABLE書くのが面倒なときがあります。 そういうとき、個人的には以下のクエリをよく使っています。が、齢のせいかよく忘れます。なので、ここにメモ遺しておく。 DO $$ BEGIN EXECUTE ( SELECT string_agg('DROP TABLE IF EX…
はじめに こんにちは、エムオーテックスでソフトウェアエンジニアとして働く菊森です。 クラウドサービス事業者にとって、利用者から預かったデータを適切に保護することは重要な課題です。その手段の一つとして、社内でデータにアクセスできる人を最小限にし、権限を適切に管理することが挙げられます。しかし、各データベースに個別のユーザーやパスワードを持たせて運用すると、誰がどこにアクセスできるのか把握しづらくなり、古いアカウントや過剰な権限が残りがちです。異動や退職のたびに更新漏れが起きると、意図しないアクセスの入り口になってしまいます。 そこで弊社はAzure Database for PostgreSQL…
シェルスクリプトからデータベースの内容を取得する際に、自動ページングによってそのままではレコードがすべて取得できなかったため、対応しました。 シェルからちゃちゃっとDBのレコードを取得してチャットで送りたい場合や、シェルスクリプトでPostgreSQLのレコードを取得したい場合などに役立ちましたら幸いです。 症状 psqlコマンドでPostgreSQLデータベースにログインした状態で、「select * from テーブル名」を実行したところ、ターミナルに--More--が表示されて、レコードを全件取得することができない。 psqlコマンドでは自動ページング機能が有効になっており、長い出力が自…
関連記事 概要 参考情報 関連記事 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ · GitHub 概要 以下、自分用のメモです。忘れない内にメモメモ。。 PostgreSQLで有名な pgBackRest が 2026-04-27 に以下のコメントを出して、今後メンテナンスされないことが発表されていました。 よく Barman と比較されてるツールですね。 pgbackrest.org TL;DR: pgBackRest is no longer being maintained. If you fork pgBackRest, pl…
PostgreSQLのダンプ取得とテスト環境へのリストア作業を、毎回調べ直してしまうので、自分用の作業メモとしてまとめておきます。 本記事では、本番データをダンプして、テスト環境に反映するまでの流れを扱います。会社名・サーバー名・DB名などはすべてダミーに置き換えています。 この記事で使うダミー環境 全体の流れ 手順 本番DBサーバーにSSH接続する pg_dumpでダンプを取得する ダンプファイルを確認する ローカルPCにダウンロードする テストDBサーバーにアップロードする テストDBのバックアップを取る pg_restoreでテストDBに反映する 反映先のDBが存在しない場合 反映結果を…
こんにちは、PLEX JOB開発チームの高岡です。 今回は安全なデータベースマイグレーションについて解説します。 なお、本記事は Ruby on Rails v8.0 と PostgreSQL 16 を前提としています。共通する考え方もありますが、RDBMS によって挙動が異なる箇所もあります。 はじめに 失敗したマイグレーション ① 防ぐにはどうすれば良いのか 失敗したマイグレーション ② 防ぐにはどうすれば良いのか 補足 仕組みで防ぐにはどうする strong_migrations gem の導入 まとめ はじめに 私は過去に、問題ないと思っていたデータベースマイグレーションが原因で、本番…
関連記事 概要 参考情報 関連記事 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ · GitHub 概要 以下、自分用のメモです。忘れない内にメモメモ。。。 情報を鵜呑みにしてしまって、あるものだと思って試してみたら無かったということが分かったので、自分のためのメモです。 PostgreSQL 17がリリースされる前に一瞬 MERGE PARTITION と SPLIT PARTITIONが入った時期がありましたが、リリースまでにrevertされて除去されました。 revertされたコミットは以下です。(commit 3890d90c)…