「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
はじめに 復習:PGlite pg-gateway pg-gatewayとPGliteを起動してSQLクライアントから接続する まとめ
JDBCのドキュメントによると下記の方法で可能とのこと。 接続URLで指定する→Javaのコードでも設定ファイルでも指定できる DriverManagerで接続時に渡すプロパティのオブジェクトで指定する→Javaのコードで指定する jdbc.postgresql.org 今回はS2DBCPのjdbc.diconファイルの設定のみでアプリケーション全体に適用したかったので接続URLを使用しました。 jdbc:postgresql://【ホスト】/【DB】?currentSchema=【スキーマ】 これで select * from test; のようなSQLが select * from 【スキ…
はじめに PGliteの概要 PGliteの特徴 PGliteを試す ブラウザで使う PGliteの速度計測 まとめ はじめに こんにちは!エンジニア2年目のTKDSです! 今回はPGliteについて調べてみました! 概要・使い方・速度実験・まとめの内容で記事は構成されています。 使ってみた結果として、軽量高速であり色々使いみちがありそうなツールだと感じました。 ぜひ最後まで読んでいただけると幸いです。
はじめに Next.js の学習をする過程で Prisma というライブラリを使って DB 操作を直感的にシンプルな記法で記述できることを知り、その際の導入と簡単な使用メモです。 当記事では、Prisma の設定ファイルの初期化〜DBにテーブル定義追加〜テーブルマイグレーションまでを書いています。 Prisma とは www.prisma.io Prismaは、Node.jsやTypeScript環境で使われるデータベースツールで、主にORM(Object-Relational Mapping)として機能します。ORMは、データベースとプログラムの間でデータをやり取りする際に、オブジェクトを使…
はじめに 初めまして、株式会社Techouseエンジニアインターンの sakaidubz と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用している RLS (Row Level Security) の技術について紹介します。 Techouse では、重要技術として RLS を多用しています。 通常 PostgreSQL の運用時には利用しないものであるため Techouse の開発メンバーとしてジョインしたみなさんが手慣れるまでに少し苦労をされているようです。 そこでこの場を借りて解説してみようと思い立ちました。 クラウドハウス労務について RLS について紹介する前…
はじめに 発生した問題点と解決策 【問題その1】毎回同じスキーマで失敗する 【解決策】pg_repackのデータベースを毎回作り直す 【問題その2】処理が終わらない 【解決策】同時実行処理数を増やした 【問題その3】まだ処理が終わらない 【解決策】開始時間の前倒し 【問題その4】不定期に失敗するようになった 【解決策】スキーマ削除はpg_repack開始前に終わらせる 【問題その5】リトライ時に最初からやり直しになる 【解決策】どこまで実施したか保持して、リトライ時は続きから実施する 今後の課題 はじめに DIGGLEエンジニアのaki0344です。 DIGGLEではPostgreSQLを利用…
Dockerを使ってPostgreSQLの環境を簡単に構築する方法について解説します。 今回は、Dockerコマンドを使用する方法と、Docker Composeコマンドを使用する方法の2パターンを紹介します! Dockerコマンドを使用する方法 Docker HubからPostgreSQLイメージを取得する PostgreSQLコンテナの起動 Docker Composeを使用する方法 まとめ Dockerコマンドを使用する方法 Docker HubからPostgreSQLイメージを取得する まず、Docker HubからPostgreSQLのイメージを取得します。ターミナルで以下のコマンド…
結論 タイトルの通りですが、 PostgreSQL の初期ユーザーかつスーパユーザーであるpostgresは、Amazon Aurora においてはスーパーユーザーの権限を持っていません。 ちゃんとドキュメントをみれば書いてあるんですが、少し戸惑ったこともあったので残しておくことにしました。 Aurora PostgreSQL の Serverless v2 で、PostgreSQL 16.1 を取り扱ってます。 証跡 ↓の画像のようにpostgresは、スーパーユーザーではありません。 一般的にpostgresは、デフォルトで作成される最強の権限を持ったスーパユーザーであることが多いのですが…
こんにちは、knsk765 です。 以前、階層構造をデータベースで表現する方法について記事を書きました。今回はその番外編です。 blog.ingage.jp こんな階層構造の部署データがあります。これを SQL でツリー表示するのが今回のゴールです。 id tree_nmae 1 +- 管理本部 101 | +- 総務人事部 10101 | | +- 総務課 10102 | | `- 人事課 102 | +- 財務部 10201 | | `- 経理課 103 | `- 情報システム室 2 +- 営業本部 201 | +- 営業企画部 20101 | | `- 営業企画課 202 | `- 営業…
はじめに 前提条件 PRIMARY KEYとUNIQUE制約の追加・削除方法 ⚫️PRIMARY KEY制約の削除 ⚫️PRIMARY KEY制約の追加 ⚫️UNIQUE制約の削除 ⚫️UNIQUE制約の追加 もっと理解したい方のために 準備 実践 おわりに はじめに はじめまして。株式会社ゼネットの新人の伊藤です。 現在、Java、JDBC、PostgreSQLを使ったWEBアプリケーションの研修を受けていますが、PostgreSQLでの列制約の追加と削除に苦戦しました。この記事では、私と同じように列制約の追加と削除でつまずいた方のために、具体例を交えながらPRIMARY KEY制約とUNI…
前回の記事ではエンジニア全体に共通するメリットについてお話しました。エンジニアを目指すべき理由について知りたい方はまずそちらの記事を読むことをおすすめします。 関連記事: 未経験でもチャンスあり!今からエンジニアを目指すべき理由 エンジニアといってもインフラ、ネットワーク、クラウドなど、さまざまな種類がありますが、未経験者が最初に選ぶべきは「Webエンジニア」、特に「フロントエンドエンジニア(FE)」だと私は考えています。 今回はなぜWebエンジニア、フロントエンドエンジニアが未経験者にとって最適なのか、その理由を詳しくご紹介いたします。 そもそもWebエンジニアとは? 始めにWebエンジニア…
プログラミング言語の世界は、1950年代から現代までにわたり驚くべき進化を遂げてきました。科学技術計算からビジネスアプリケーション、そしてウェブやモバイル開発まで、各時代に登場した言語は、それぞれの時代のニーズに応じて進化してきました。本記事では、主要なプログラミング言語について、その開発者、特徴、そして簡単なコード例を交えながらその歴史を振り返ります。これから学び始める方にも、経験豊富なエンジニアにも、新たな発見があるかもしれません。 プログラミング言語概覧 1950〜1960年代 FORTRAN(1957) LISP (1960) COBOL (1960) ALGOL (1960) BAS…
環境 構成図 Databasa作成 いつもの構成を作成 Switch作成 & VPCルータ設定 Database作成 接続してみる サーバにログインしDatabaseにアクセス おわり VPCルータ周りの構築がひと段落したので、次はデータベースの構築をしてみます。 環境 構成図 いつものVPCルータの構成にDB用のSwitchとセグメントを追加しました。 サーバと同じセグメントにおいても良かったのですが、通信制御とか行うことを想定するとDBは別セグメントに置くほうがいいかなと。 今までとの違いとして、VPCルータのPublicIPにsshした場合、Serverにポートフォワーディングするよう設…
Embedding(エンベディング)とは、情報をコンパクトな数値ベクトル(多くの場合は高次元ベクトル)に変換する技術を指します。主に機械学習や自然言語処理の分野で使用され、文章や単語、画像、その他のデータを数値の形で表現することで、コンピュータがそれらを処理しやすくする。ベクトルとかは高校とか大学でもやって気がするけど苦手な分野なので正直難しそうという印象しかない。 atmarkit.itmedia.co.jp Embeddingのフロー データ収集と前処理 語彙の作成 単語の数値化 モデルに渡してEmbeddingベクトルを生成 Embeddingベクトルの利用 こんな流れになる。ベクトルデ…
はじめに こんにちは、NRIの矢野です。パブリッククラウドを活用した提案や、新規構築プロジェクト、移行プロジェクトにおいて、要件定義から設計、構築、運用まで幅広く担当しています。今回のブログでは、アマゾン ウェブ サービス(AWS)が提供するAmazon Aurora(以下Aurora)について、データベースのパフォーマンスに影響を与えずに複数のリージョンにまたがってのデータ同期、切り替えを可能とするAmazon Aurora Global Database(以下Global Database)を利用したマルチリージョン構成、そのDR(Disaster Recovery)自動切り替えについて紹…
Cloud Build と格闘した記録。 tips use secrets build が queued にいるのはなんで? run migration: private pool build, private IP Cloud SQL my code cloudbuild.yaml Dockerfile tips use secrets ref: Use secrets from Secret Manager | Cloud Build Documentation | Google Cloud ポイント - steps のあとに、 availableSecrets の中でアクセスしたい se…
www.fujitsu.com PostgreSQLの物理レプリケーションは、データベースの物理的なデータ(つまり、ディスク上のバイナリファイル)を基にデータベース全体を複製し、データベースの可用性やデータの冗長性を確保する方法です。これは、マスターサーバー(プライマリ)からスレーブサーバー(スタンバイ)にWAL(Write-Ahead Log)を送信し、それをリプレイしてスタンバイサーバーをプライマリと同じ状態に保つ仕組みです。 物理レプリケーションの概要 WAL (Write-Ahead Log) の利用: PostgreSQLは、すべてのデータ変更をWALに記録します。物理レプリケーショ…
はじめに ここ数年の自分の経歴を振り返りつつ、50歳を超えて改めて自分のキャリアを考えてみたいなぁと思います 45歳〜50歳くらいまでやっていたことを振り返る 項目 内容 関わっていた業界 ・飲食系サービス(モバイルオーダー。BtoC)・交通系サービス(デジタル乗車券。BtoBtoC)・オンライン診療(小児科。BtoC) チーム規模 ・基本的に7〜10名前後(2チーム)・1年弱だけど0→1のサービスやったのでそれは基本1人 仕事の進め方など ・基本的にはおおまかな企画の方向性を共有してもらったうえで、仕様調整しながら機能開発・後述する技術要素を満遍なく使った開発。(特にバックエンド/フロントエ…
2024/09/07分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 actionpack/CHANGELOG.md System Testing: Disable Chrome's search engine choice by default in system tests. activerecord/CHANGELOG.md Drop MySQL 5.5 support Deprecate unsigned_float and unsigned_decimal short-hand column methods. Use implication for skip_…
はじめに RailsアプリをECS上で動かす必要性があり、ちょっとやろうとしたところ地味にハマったので何回かに渡って実装してみます。 Railsは7.1から本番環境用のDockerfileなどを生成してくれます。 railsguides.jp ただ、開発環境をコンテナ上で行いたい場合は自分で整備する必要があります。今回はその方法を記します。 初期ファイルの作成 まずはDockerfile.devを作成します。Dockerfileはrails new実行時に本番環境用のDockerfileとして使われるため、名前を変更してDockerfile.devとしておきます。データベースにPostgreS…
nazology.kusuguru.co.jp 最近、スイスのヌーシャテル大学(University of Neuchatel)に所属するパトリック・グロフティザ氏ら研究チームは、メキシコの混作(2種類以上の作物を同じ畑で同時に栽培する)にて、トウモロコシの悲鳴をマメが聞いていることを報告しました。 トウモロコシが悲鳴を上げると豆が害虫駆除の昆虫軍団を呼ぶと判明 - ナゾロジー マメ科植物は、トウモロコシが害虫に襲われる時に放出する揮発性物質を感知し、それに応じて、害虫から自分たちを守るアリやスズメバチを引き寄せていると判明したのです。 トウモロコシが悲鳴を上げると豆が害虫駆除の昆虫軍団を呼ぶ…
Oracle は、SQLバインド変数の上限を超えると、 ORA-01745: ホスト/バインド変数名が無効です。 が発生する Oracle のバインド変数の上限は、32768PostgreSQL は、32767MySQL はクエリの上限サイズで制限を見た方が良いみたい show variables like 'max_allowed_packet' mybatis で、バルクインサートをする場合に、もしもこの上限を超えるのであれば、 分割して実行するしかない。 そんな時、List要素を任意の数で分割したリストで処理したい。 以下のようなメソッドが汎用的であろう。 public static <…
はじめに 前回、 Prisma で検索処理のサンプルを書かせていただきましたが、今回は削除処理のサンプルになります。 lelelemon.hatenablog.com DB定義再掲 schema.prisma schema.prismagenerator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model user { id Int @id @default(autoincrement()) nickname Stri…
こんにちは。4月にClassiへ新卒で入社した伊森です。 私は4月から8月上旬までの約4ヶ月、Classiのエンジニアとして働くための新卒研修を受けてきました。 今回はその研修期間を経て、大まかな内容の振り返りや身についた考え方を紹介していきます。 入社前の状態 研修内容の概要 4月 5・6月 7・8月上旬 AWS研修 良かったところ 物足りなかったところ QA研修 実際に手を動かすテスト項目の作成課題 「品質が高い」とはどの状態を指す言葉?というディスカッション 万葉カリキュラム 研修プログラム以外にも学んだこと まとめ 入社前の状態 大学生時代はPythonを使用した画像処理を主に勉強して…
Kubernetesクラスタ(on Raspberry Pi5)にCockroachDBを導入する。DB側がTLS有効かつクライアント側でsslmode=verify-fullで接続しようとした際、ユーザの証明書作成に少し手間取ったので、(正しい方法かはわからないが)その手順も示す。 CockroachDBとは Kubernetesクラスタにデプロイする 動作確認 TLSを無効にしてみる ユーザの証明書作成 終わりに