「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
こんにちは、技術推進部の佐藤です。 4 月ということもあり、社会人デビューをされた方たちを目にする機会が増えました。 「自分が若かった頃はこんなにしっかりしていたかな」などと懐かしんでいたら、ふと以前在籍していた会社で血の気が引くような失敗をしたことを思い出しました。 今回はそのお話をいたします。 ただ、その失敗から得た対策のおかげで、今まで 10 年以上もの間に一度も同じような失敗を起こしていません。 これからデータベースを触る方、今まで触っていても失敗したことがない方はご参考になれば幸いです。 何が起こったのか 背景 事件 どう対処したか 初動 その後 収束 学びとその後の対策 防止する仕…
状況 大量のUUIDを指定したin句を発行する際に、メモリ消費量が問題になりました。 見たところ、jOOQではUUID1件当たりcast('b81b8735-6ac8-4b0b-a969-658e70425616' as uuid)みたいな形のクエリになってしまうことが原因のようでした。 対処 応急処置として、以下2点を満たす省メモリ化されたin句を発行するためのカスタム実装を行いました。 cast文無し UUIDのハイフン無し サンプルコード Kotlinかつ一部余計な処理が入ってますが、要するに${取得対象カラム} in (b81b87356ac84b0ba969658e70425616,…
こんにちは、knsk765 です。データの分析するときってウィンドウ関数は欠かせないですよね。 はじめてウィンドウ関数を知ったときは衝撃でした。これまで強引な集計処理をゴリゴリ書いてどれだけの時間を無駄にしつづけたのかと。 ざっくりいうと GROUP BY を使った集約関数のように結果をまとめてしまわずに、元の行を保持したまま集計列を追加できるのがウィンドウ関数です。 Excel の表に関数を入れた集計列を追加するのがイメージとしては近いかなと思います。 ウィンドウ関数のちゃんとした説明はこちら(PostgreSQL 文書)。 www.postgresql.jp .entry-content …
概要 ChatGPT が世に公開されてから、AI を使用したチャットサービスや対話型 AI などが広く普及しています。 https://chat.openai.com/auth/login ChatGPT にタスクを任せたいが、どのサービスを使用すればよいのか、いろいろなサービスが急速に作成されていますが、どれを使用すればよいのかわからない方も多いのではないでしょうか。 今回はそんな悩みを解決できるかもしれない OSS を見つけましたので、ご紹介したいと思います。 今回ご紹介する OSS は、ターミナル、ブラウザ、エディタで複雑なタスクやプロジェクトを実行できる完全自律型 AI エージェント「…
Rails7がリリースされてから、環境構築で躓いた経験がある方は少なくないのではないでしょうか。 今回は、Rails7 + PostgreSQL + esbuild の環境を docker-compose で構築していきたいと思います。 Rails7 + PostgreSQL + importmap の環境構築については以下の記事をご参照ください。 www.mof-mof.co.jp 1. ファイルを準備する まず始めに、以下の2つのファイルを作成します。 Dockerfile.dev docker-compose.yml Rails7.1から rails new で新規プロジェクトを作成した…
はじめに 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;
本記事では、Google の AI 言語モデルである Gemini の機能と Cloud SQL のデータ管理機能を組み合わせたツールである Gemini in Database について説明します。 はじめに Gemini in Database とは Database Studio とは Cloud SQL とは Preview 版のサービスに関する注意点 試した手順 Cloud SQL インスタンス・データベースを作成 Gemini in Database を有効にする Cloud SQL Studio へ接続するためのユーザを作成 Cloud SQL Studio へ接続 自然言語でク…
初めに 学習中のエラーを自分でまとめてみました なるべくわかりやすく説明していこうと思います。 背景 dockerを利用して、Railsアプリケーションとpostgresをセットアップをして実行する。 docker-compose buildの際にエラーが生じた。 docker-compose.yml version: '12' volumes: db-data: services: db: image: postgres environment: POSTGRES_PASSWORD:password volumes: - 'db-data:/var/lib/postgresql/data' …
2024/04/24分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 actionpack/CHANGELOG.md Fix Mime::Type.parse handling type parameters for HTTP Accept headers. Fix PostgreSQL Cidr#change? when changed address prefix. Fix #51582 activerecord/lib/active_record/connection_adapters/postgresql/oid/cidr.rbの修正です。 PostgreSQL…
Exposedは、JetBrainsによって開発されたKotlin専用のORMライブラリとのことです。 Android以外の環境であって、Roomが使えない場合に使いたいと思いました。 kotlinのORMライブラリで、定番で軽量のものがあれば教えてください。 Exposedの歴史と、他の類似ライブラリとの比較もお願いします。 Exposedの使い方を教えてください。 update()の引数に、条件式のブロック{ Users.id eq 1}がありますが、このような条件式について詳しく教えてください。 フィールドの指定にUsers.ageのような表現を用いていますが、これはどのようなオブジェク…
こんにちは、よっちゃんです。 2023年の12月からエンジニアになるためフィヨルドブートキャンプで学んでいました。 この度、僕の通っている高校のゼロ高等学院(以下、ゼロ高)用に 目標共有アプリの「Zero Steps」をリリースしました! この記事では、作成の経緯から感想まで書いていきます。 最後まで読んでいただけますと嬉しいです。 作ったアプリのURLです↓ https://zero-steps.onrender.com Githubのリポジトリです↓ https://github.com/yocchan-git/zero-steps 自己紹介 作った経緯 使い方 タイムライン ログイン ユ…
先日、Grafanaを使用してサーバーの稼働状況を監視する方法についての記事を書きました。 reisaikigyo.hatenablog.com 今回は、Grafanaから「DBサーバーの使用容量が閾値を超えたよ」と通知が届いたので、使用容量を確認する方法について書きたいと思います。 DBはPostgreSQLで、SQLを使用して確認する場合です。 使用容量の確認 SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database; 補足すると pg_database_size:指定されたデータベース名の使用容量…
発端 ふと、「IS NOT DISTINCT FROM」あるいは「IS DISTINCT FROM」という文字列が含まれるSQL文を目にしました。 SQLの基本的な構文として、 SELECT DISTINCT col1, col2 FROM t1; とか書くので、そのDISTINCT と FROM が、、、、とか考えていると混乱します。とりあえず「単にこういう長い名前の記号」と思っておくのがよさそう(笑)。 これはなに https://t.co/XofaCJumh8これですよね?— Hiroshi Sekiguchi 🍥 (@discus_hamburg) 2024年4月22日 Oracle…
目次 目次 はじめに 環境情報 ツールインストール EKS 構築 AWX Operator デプロイ EFS 構築 AWX デプロイ AWS LoadBalancer Controller デプロイ アクセス確認 おわりに お知らせ 本記事はAP Tech Blog Weekのものになります。 techblog.ap-com.co.jp はじめに こんにちは、クラウド事業部の梅本です。 以前、AmazonEKS on AWS Fargate で記事を投稿しました。 techblog.ap-com.co.jp 今回はその EKS 上に AWX のデプロイを試していきます。 AWX は Web 画…
gigazine.net ⇧「XZ Utils」の問題は、偶然発見された感じだったような気がするから、コミュニティの健全性は関係ない気はしますが、影響範囲が大きい機能については、AIとかで自動的に脆弱性の検知をしてソースコードに反映できないようにとかして欲しいですな。 REST APIのレスポンス作成でOOEM(OutOfMemoryError)は簡単に起こり得るという話 画面とかであれば、ページング機能を実装して、一度に大量のデータをレスポンスに持たせないようにするなどができるんだけど、疎結合になっているシステム間で、Rest APIで処理のリクエストを送り、別システムで大量の処理を行った後…
AWS Glueを使用してRDS内のデータのETLを行う機会があったので、CDKで実装してみました。いくつかハマった点もあったのでその記録です。 今回は以下のようにRDSにアクセスするCrawlerとジョブを実装します Glue Crawler からRDSにアクセスしてData Catalogを生成 Glue JobからRDSのデータをETLしてS3に格納。
この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} データベースを操作する SQL SQL(Structured Query Language)は、関係データベース管理システム(RDBMS)でデータを管理・操作するための標準化された言語です。データベースに格納された情報を効果的に取得、挿入、更新、削除するために使用されます。 SQLは、テーブルと呼ばれるデータの形式で情報を格納し、クエリを使用してデータベースとの対話を行います。初心者にとっても覚えやすく、構文も直感的であるため、多くのデータベース管理シス…
こんにちは、Enterprise Cloud部 ソリューションアーキテクト1課 宮形 です。今年に入ってガバメントクラウドのブログを書くようになりまして、どの記事も前向きでポジティブな内容を心がけておりましたが、今回は一転して後ろ向きなタイトルになります。 本BLOGではガバメントクラウドにおいてAWSに各システムをリフト&シフトした後に、AWSから抜け出す方法 について検討した内容を記載させていただきます。 このBLOGを書こうと思い立った理由 AWSから抜け出す方法を各サービス毎に検討する 仮想サーバー EC2 データベースのマネージドサービス RDS、Aurora コンテナの実行環境 E…
注意 各サービス RDBMS Neon Vercel Postgres Cloudflare D1 Supabase NoSQL Firestore(Firebase) / Cloud Datastore MongoDB Atlas DWH(Data ware house) BigQuery 比較的安価なサービス さくらのレンタルサーバー Heroku PlanetScale Render 期間限定無料枠のあるプラットフォーム AWS GCP 僕はこう思ったっス Herokuに引き続き、PlanetScaleの半永久無料枠が終了してしまいました。 個人開発でサービスを公開したいけど維持費を無料…
はじめに プライベートサブネットに配置しているEC2に対してインストールしたいアプリやセキュリティパッチなどを当てたい場合、一般的にはインターネットに接続する必要があります。 ただ、Amazon Linuxにおいてはインターネットにアクセスせずに更新したりパッケージのインストールができたりします。詳細は以下を参照してください。 repost.aws 以下では、Amazon Linux 2023においてプライベートサブネットにおいたインスタンスにパッケージのインストールをすることをCDKで実装してみます。 VPC作成 VPCを作成します。natGatewaysを0にしておきます。 const v…