「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系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 …
はじめに 個人でサクッと作ったPythonプログラムに、SQLModel を使っています。 テストコードを書く際にモック化したことをメモしていきます。 前提 DBは PostgreSQL を利用する想定です。 また、バージョン等は以下の通りになります。 SQLModel 0.0.16 PostgreSQL 16.2 DBに接続する場合 さて、通常は以下のように create_engine メソッドを使ってDBとのコネクションを確立し、SQLを実行します。 import typing import sqlmodel # テーブルモデル class Todo(sqlmodel.SQLModel, …
前回の記事では、VPCを作成したりEC2インスタンスを立ち上げたり、Cloudflareでドメインを管理したり……などといった事前準備を行った。今回は、Web+appサーバーとDBサーバーのそれぞれでMisskeyを立ち上げるまでの作業を一気に紹介しようと思う。 全体の事前準備(クラウドネットワーク構築など)→前回の記事はこちら Web+appサーバーとして使用するEC2インスタンスでの作業※ DBサーバーとして使用するEC2インスタンスでの作業※ Misskeyのビルド+デプロイ+デーモン作成※ 定期バックアップ実行などの後処理 ※:今回の記事にする部分 以下「Web+appサーバーとして使…
DjangoでDBに関連した操作をするとき、django-adminのmakemigrationsでマイグレーションファイルを作成して、migrateでマイグレーションを実行します。 そのマイグレーション実行時に実行されるSQLを確認するには、sqlmigrateを利用します。 Django4.2で検証しました。 sqlmigrate https://docs.djangoproject.com/ja/4.2/ref/django-admin/#sqlmigrate コマンドは以下のようになっています。 django-admin sqlmigrate app_label migration_n…
タダです. データベースの CI/CD の方法を検討する際に Bytebase を試すことがありました.Bytebase はセルフホストするかクラウド版を利用するかの二択があるのですが,セルフホストとして ECS Fargate で起動して RDS に SQL 実行を検証してみました.この記事では Bytebase を ECS Fargate で起動するために行って設定をまとめていきます. Bytebase とは ECS Fargate で起動するためにやったこと コンテナイメージを ECR に格納 ECS タスク定義の作成 関連情報 ALB ターゲットグループを作成する セキュリティグループ…
※注意:本記事内での計測結果は記載の条件下によるものとなります。異なる環境においては異なる結果が予想されますのでご認識ください。 こんにちは。 株式会社ラクスにて、主に先行技術検証を担当している「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 このプロジェクトで「DBセキュリティ」にまつわる検証を行なったので、その報告を共有しようかと思います。 今回はDBセキュリティの中でも、…
内容 試験には次の内容ドメインと重み付けがあります。 ドメイン 1: データの取り込みと変換 (34%) ドメイン 2: データ ストア管理 (26%) ドメイン 3: データの運⽤とサポート (22%) ドメイン 4: データ セキュリティとガバナンス (18%) ドメイン 1: データの取り込みと変換 1.1: データの取り込みを実⾏ データを取り込むAWSサービスのスループットとレイテンシの特性 Kinesis Data Streams - TB/時のスループットで、数十万のソースから大量のデータを取り込むことができます。データは1秒以内に処理できるため、待ち時間が短くなります。KCLま…
security.sios.jp xzのtarボールで、アップストリームバージョンの5.6.0以降に悪意のあるコードが混入されていることがわかりました。liblzmaビルドプロセスにおいて複雑な難読化を用いてソースコード内の偽装テストファイルからビルド済みオブジェクトファイルを抽出します。このファイルは、liblzmaコード内の特定の関数を変更するために使用されます。 難読化してテストで入れ込むの手が込んでるな。 そして良く見付けたなという感でじっくり見ていったら。 postgresqlのmicro-benchmarkしてたところ, username間違えてログインしてるのにsshdがCPU使…
はじめに こんにちは、インダストリーワン エンジニアの松崎です。 Next.js & FastAPI & PostgreSQL on Docker と題して、フロントエンドにNext.js、バックエンドにFastAPI、データベースにPostgreSQLを採用してサクッと技術検証できるようにするための第一段階としてDocker Composeで動作環境が構築できるようにしたので記事にします。 サクッと技術検証できるようにしたかった理由としては、プロダクトにそのまま流用したいというよりもライブラリなどをサンドボックス的に試したかったからです。 技術の選定理由については、個人的な興味によるものです…
ちよ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⇨一言入力したいときなどに使う。(名前、電話番号、住所など). バリデーション必要. 理由 おかし…