「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
はじめに PostgreSQLのサーチパスが想定してたより面倒だったのでまとめておく。 PostgreSQLのサーチパスとは PostgreSQLのサーチパスは、オブジェクト(テーブル、ビュー、関数など)を参照する際に、どのスキーマを検索するかを指定する機能です。 サーチパスの優先順位 現在のユーザと同名のスキーマ(存在する場合) publicスキーマ 異なるスキーマに同名のオブジェクトが存在する場合、サーチパスの順序によって参照されるオブジェクトが決まる サーチパスの先頭にあるスキーマから順に検索され、最初に見つかったオブジェクトが使用される サーチパスの設定レベル サーチパスはさまざまなレ…
こんにちは。 エキサイト株式会社の三浦です。 今回は、Metabaseをコンテナで立ち上げてみた話をしていきます。 Metabaseとは コンテナで立ち上げる 最後に 参考 Metabaseとは MetabaseはBIツールの一つで、社内のデータを可視化するのに役立ちます。 www.metabase.com Dockerを使って簡単に起動できる 様々なデータソースと接続できる など、使いやすいツールです。 今回はこのMetabaseを、実際にコンテナで立ち上げてみます。 コンテナで立ち上げる それでは、実際に立ち上げてみます。 とは言っても、 docker compose を使えば以下の設定だ…
概要 PostgreSQLでプログラム上から単発のSQLを実行したい場合に、ファイルを経由せずに1回限りのパスワードを与える方法の話です。 最初に結論まとめ コマンドプロンプトの/cのセッション内で環境変数を設定し、そのままコマンドも実行します。例えば次のようになります。 cmd /c "set PGPASSWORD=user1password&&psql.exe --username=user1 --dbname=postgres --command="CREATE DATABASE database1'"" 話の背景 PostgreSQLでpsql.exeを使って、--commandオプシ…
はじめに みなさん、こんにちは。ACS事業部 亀崎です。 以前からPostgreSQLなどCloud Serviceのバージョンアップどうすればいいのかな、といつも考えていたのですが、Azure Database for PostgreSQL Flexible Serverの場合、メジャーバージョンアップ機能が1年前の2023年2月にGAになっていました。 techcommunity.microsoft.com こちらがドキュメントです。 learn.microsoft.com デモ環境の構築初期で、まだ壊れても問題にならないって状態のPostgreSQL Flexible Server(v1…
自分ようにメモ。PostgreSQLで定義しているDBのサイズを確認する必要が出てきた。 DBのサイズを確認するには、pgAdminのクエリツールなどを開いて以下のコマンドを実行するとよい。 SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;
はじめに RDSにてPostgreSQLを使っているとき、マスターユーザーとは別のユーザーを作ってそのユーザがオーナーのデータベースを作ろうとするとERROR: must be member of role "xxxxx"というメッセージが出ることがあります。例を以下に記します。 postgres=> CREATE ROLE testuser001 WITH PASSWORD 'hogehogehoge' LOGIN; CREATE ROLE postgres=> CREATE DATABASE mytestdb001 WITH OWNER testuser001; ERROR: must b…
Activerecord-Import とは github.com 結論(どうするか) インポート時に batch_size オプションを指定してやる。 具体例 User.import!(users, batch_size: 10000) PostgreSQL が落ちたときのエラーメッセージ PQconsumeInput() SSL SYSCALL error: EOF detected (ActiveRecord::ConnectionFailed) 参考 https://webcache.googleusercontent.com/search?q=cache:jdX4uXcvCb4J:h…
SREの林 aka もりはやです。 タイトルの通りですし、PostgreSQL界隈の皆さんには当たり前のことですが”失敗事例の共有はいくらあってもいいはず”の気持ちで本記事を書いています。*1 TL;DR 詳細 最新バージョンでアプリを移行した矢先にAurora PostgreSQLのv16.1対応が発表 これを受けて、意気揚々とAurora PostgreSQLのバージョンアップを実施 またしてもCPU高騰、そして504多発 調査開始 ZabbixにはSlow queryを出力する機能がデフォルトである クエリチューニングするならEXPLAINを使う ANALYZEを実行することで解決 仕上…
こんにちは、Tochiです。 最近忙しくてあまり更新できておらず、久しぶりの更新です。 先日業務しているとき、「トランザクションをしておけば行ロックって意識しなくてもいいのかな?それともDBによるのかな??」「そもそもトランザクションとロックって別物だよな・・ 」といった感じで混乱しました。 なので今更ながら、トランザクションとロックの関係についてまとめていきたいと思います。 はじめに 題名にRailsと書いていますが、実際はDBMSの話です、、笑 ただ、トランザクションやロックの話をRailsから入るとイマイチ理解なく、 なんとなくで実装できてしまいます笑 なので基礎の基礎から理解していこう…
SREの林 aka もりはやです。 先日オンプレで稼働していたとあるPostgreSQLのDBを、Amazon Aurora PostgreSQL(以後はAurora)に移行を行ったところ CREATE INDEX が以下のエラーで作成できない問題に苦労させられたため、解決策と合わせて公開します。 これがベストな対応かは自信がないため、より良い方法をご存知の方はお気軽に教えてください。 以下はDBのリストア中に CREATE INDEX で発生したエラーです。 pg_restore: error: could not execute query: ERROR: could not write …
ちよ8号です。Raspberry PI。 「Raspberry PI OS Lite 64bit」をインストールしました。目的は「OpenMediaVault」のインストールです。 昔は「MS-DOS」や「Solaris」などを使っていましたが、CUIのOSは久しぶり。MS-DOSでは「SEDIT」でしたねぇ。SolarisのCUIでは「vi」でしたが、もう「vi」の使い方は「終了が大文字のZZ」以外を覚えてないわ(笑)。ちよちゃんが使うWindowsで使うエディタは基本「メモ帳」ですかね。必要に応じて「Peggy Pad」なんですけど、今ではもうダウンロードもできないですから。サポートも終わ…
はじめに 近年、Kubernetesの採用が進む中、複数のチームが関わり、複数のクラウドプロバイダーへのデプロイを行い、異なるスタックを扱う組織では、その導入の複雑さが新たな問題となっています。本書 『Platform Engineering on Kubernetes』は、Kubernetes に登場しつつあるベストプラクティスとオープンソースツールを活用し、これらのクラウドネイティブの問題を技術的に組織的にどのように解決するかを示してくれます。 learning.oreilly.com 本書では、Kubernetes上に優れたプラットフォームを構築するための要素を明確に定義し、組織の要件に…
vSphere環境を使っていて、仮想マシンのvCPUのサイジングについてベストプラクティスがいくつかありますが、そういう背景がどういったところにあるのか、ベストプラクティスから外れた場合にどうなるのか書いてみようと思います。 構成 vCenter 7.0 U3 ESXi 7.0 Update 3 Intel NUC NUC7i3BNH Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz Ubuntu 22.04 よくありそうな疑問 仮想マシンのvCPUのサイジングとして、以下のものがあります。 一般的なベストプラクティスとして、ハイパースレッディングが有効な環境で…
本記事は BtoBウィーク 3日目の記事です。 🏢 2日目 ▶▶ 本記事 ▶▶ 4日目 🏢 初めに 皆さんこんにちは。アプリ開発担当の芳賀です。 今回は、BtoBビジネスでのお客様による違いという観点から、IT業界のお仕事の特性を分解してみたいと思います。IT業界への就職を考えている方の企業選びの参考になれば幸いです。 背景 私は2022年の9月に転職でNRIネットコムに入社しました。前職も同じくSIerで、地方自治体・財団法人・行政法人といったいわゆる公的機関に近いお客様に向けたシステム構築が主でした。現在は一般企業向けのシステム構築を担当しています。私は二社を経験して、エンドユーザー様によ…
当媒体paiza timesを運営するpaiza株式会社は、2024年3月25日に東京都港区の虎ノ門二丁目タワーへオフィス移転しました。本日は移転初日の模様を交えながら、「異能をのばせ。」を体現する唯一無二のオフィスを紹介していきます。 今ホットな虎ノ門で、日本のさらなる発展に寄与する 「paiza」は登録者数69万人以上のプログラミング学習とエンジニア採用を支援する個人・企業の成長プラットフォームです。「2030年にIT人材が約80万人不足する」というデータもあり、paizaはその社会課題を認識して解決に取り組んでいます。日本経済の発展に根底から寄与していきたいと考えており、さらなる事業発展…
前書き 以下のnameカラム(string型)とdscriptionカラム(text型)にlengthのバリデーションは必要?また必要なら何文字で設定するのがいいの?という2つの疑問が湧いたので忘却録として記事に残します ↓migrationファイル 結論 ⇨人それぞれの用途でlengthのバリデーションの有無や文字数の制限を設定する。 そもそもstringとtextの違いは? データ型 データベースに登録できる文字数 string 255文字まで text 上限なし それぞれの用途 string⇨一言入力したいときなどに使う。(名前、電話番号、住所など). バリデーション必要. 理由 おかし…
OpenTelemetryブームなので、実際今Collectorでどこまですぐに(何かを自作せずに)監視したいもの、特にミドルウェアまわりが見られるのか、というのを把握しておこうと思う。 opentelemetry-collector-contribリポジトリのまずはreceiverを一覧してざっとREADMEを見て回るところから始めた。 github.com 箇条書きのalpha、betaといったものは安定度(stability)で、development→alpha→beta→stableというステージになっているとのこと。実際のところcontribにあるものでstableなものはなく、d…
先日、2024年3月26日をもってEvernote Legacyが廃止されることが発表されました。発表によるといまだEvernote Legacyを使っているユーザーは全体の1%とのことですが、まさしくその1%に入っていた身としては青天の霹靂です。 Evernoteは2016年から長い間課金ユーザーでしたし、現時点でEvernote Personalのライセンスも半年ほど残っていますが、最近めっきり良い噂を聞かなくなったこともあり、これを機に他のサービスへの乗り換えを決意しました。 私はEvernoteをノートアプリとしてではなく、もっぱらスキャンしたPDFファイルを格納する倉庫として使用して…
都内でSaaSプロダクトのバックエンド開発をしている新卒2年目(もうすぐ3年目)です。 主にJava, Spring, PostgreSQL辺りを使って開発しています。 興味のある技術トピック Java Spring Gradle PostgreSQL コンテナ技術 CI/CD テスト 最後に やっていくぞ〜
こんにちは。エイチームライフデザインデザイン開発本部の加藤(@mkin)です。最近は "そこの穴、埋めますよ" の精神でエンジニアやってます。 はじめに 2024年2月29日、Aurora PostgreSQL v11の標準サポート終了日に向けて、初めてメジャーバージョンのアップグレードをする機会が得られたので、記録しておきたいと思います。 準備 初めてのことなので、右も左も分からない状態から始まりました。 「よく分からないけど、最新バージョンに上げておけばいいんでしょ?」 というものではなかったのです... どのバージョンまで上げるか方針を決める 当初は定期的なバージョンアップの計画がありま…
クオカードでは、ソフトウェアエンジニアの採用プロセスの一環としてコーディングテストを実施しています。候補者の皆様には貴重な時間を割いて取り組んでいただくことになるため、十分な準備をしていただけるようにテストの内容と評価の観点を事前に公開することにしました。テストの目的を損なうことなく、候補者が必要とするスキルを身につけられる機会を提供したいと考えています。 コーディングテストの内容 現時点でのコーディングテストは、Kotlin、Spring Boot、jOOQを使用した書籍管理システムの構築をお願いしています。具体的には、以下の機能を実装していただきます。期限は2週間です。 書籍には著者の属性…
DBFlute Runtime/Engineのリリース 連日のリリースブログです(^^。 (1.2.7のブログが極端に遅れただけで、1.2.8のリリースは今週です)Change Log | DBFlute (移行の注意点は特になし)今回もDBFluteユーザーの方からのフィードバックが色々とあって対応しました。 改善点たくさんありますが、ブログではピックアップして紹介します。 複合PKでのinScopeSubQueryに対応 まさしく現場からのフィードバックです。 ExistsReferrerにて、SQLでの実現方法をexistsSubQueryからInScopeSubQueryに変更するオプ…
Azure Container Apps 紹介 概要編 では、Azure Container Appsの概要についてご紹介いたしました。 今回は他のAzureコンテナサービスの特徴と、Azure Container Appsとの違いについてご紹介いたします。 Azureコンテナサービスとは Azureコンテナサービス比較 Azure App Service Azure Container Instances Azure Kubernetes Service Azure Functions Azure Container Apps 最後に Azureコンテナサービスとは コンテナは、アプリケーシ…