「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
序論 PostgreSQL のメーリングリストでこのようなやり取りがありました。 On 10/18/13 12:28 PM, bobJobS wrote: > If I analyze our database during a transaction and the transaction fails > (rollback occurs), with the table statistics rollback to their original > values?Yes.ANALYZE isn't really that special. It reads data from some t…
「OSS-DB Silver Ver.2.0」の記事をいくつか投稿したのでまとめてみようと思います。事前準備 → 勉強計画 → 合格体験記 の流れで時系列にまとめたロードマップ的な記事にしてみます。 情報収集、事前準備 勉強計画をたてる 合格体験記 おわりに 情報収集、事前準備 まずは受験する資格の情報収集、事前準備の段階です。特に教材の選定が重要だなと感じています。 miya-moto-blog.hatenablog.com 勉強計画をたてる 情報収集、事前準備があらかた完了したら次は勉強計画をたてます。 自分はとりあえず計画をたてるとモチベーションが上がるタイプみたいです。で、毎日進捗を埋…
OSS-DB Silver Ver.2.0の合格体験記を前に投稿したのですが、Notionのデータベース機能で勉強計画を作成して進めていきました。 Notionのデータベース機能は使い慣れるまで少し時間かかるかもですが、慣れるとめちゃくちゃ便利だなと感じています。他の資格取得の際にも同じようにNotionで計画して進めています。 今回は計画の立て方や日々の運用方法、便利ポイントなどをご紹介しようと思います。※Notionの細かい操作方法の説明は省略しています。 合格体験記はこちら。 miya-moto-blog.hatenablog.com 完成図 テーブル情報 計画の立て方 日々の運用 進捗…
OSS-DB Silver(Ver.2.0)に合格し、その合格体験記を以前投稿しました。 資格取得はスタートを切る前の事前準備がけっこう大事だなと思い、今回はその辺りをまとめてみようと思います。 資格取得をスタートする前にやるべきことは意外とたくさんあるかなと思っています。資格の概要把握から始まり、最新バージョンの確認、合格ラインの確認、合格体験記のチェック、教材候補の調査などなどです。 「OSS-DB Silver」を受験する前提の流れですが、他の資格取得のおいても参考になる部分はあるのではないかと思います。 ちなみに合格したのはちょっと前です(2022年9月28日)合格体験記はこちらです。…
OSS-DB Silver(Ver.2.0)に合格したので、合格までの流れを書いていきます。 勉強期間、使用した教材、本試験を受けるタイミング、教材と本試験の難易度ギャップ等について書いていきます。 ちなみに実際に試験を受けたのは2022年9月28日です。(書くタイミングが遅くなってしまいました。)その点ご了承ください。 また、自分が受けたのは「Ver.2.0」です。公式サイトを確認したところ2023年2月1日に「Ver.3.0」がリリースされたようです。その点もご注意ください。 現状は「Ver.2.0」「Ver.3.0」どちらも受けることができるみたいです。これから受験を考えている方はどっち…
先日、ブログ移行時に下書き状態にしていた記事を復元しました。その中の一つ。 PostgreSQLのdate型に挿入できるフォーマット - Log 2020/02//03がエラーにならなかった。試しに2020/02/////////////////03とかやってもいけた。気になる。 なんとこれが記事の全文です。Twitterでやれ。 さて、この結果だけを見ると区切り文字はなんでもいいのかと思えます。ちょっと試してみる。 2023$03$18: OK 2023||||||||||03|18: OK 2023a03a18: NG 2023🥺03🥺18: NG それらしき文字で区切られていればいいみた…
現在取り組んでいる仕事で、かなり大きいサイズのデータベーステーブルを作る必要がありました。正直言ってそれを簡単に作る方法はいくつかあるのですが、テーブルのフィールド(表計算ソフトで言うところのセル)に乱数が入っていたり、aとかbとかcとかいう適用な文字列が入っていたり...といったようなデータは用意できるのですが、それをSELECTしてもなんか面白くありませんし、そのデータを使って集計処理とか色々するにもちょっと都合が悪いので、PostgreSQLに簡単にラージサイズのテーブルを作るものを作ってみました。 データベースとテーブルの作成 データベースを作成して、それに切り替えます。 =# CRE…
はじめに こんにちは。ACS事業部)土居です。 先日Aivenについて紹介しましたが、今回はAivenのVirtual Private Cloud(以降VPCと呼びます。)を試してみます。 Aivenはデフォルトでサービスを作成すると、パブリックに公開にされます。 これは昨今のクラウドサービスを利用する上では当たり前な所ではありますが、昨今はセキュリティの観点もありリソースをそれぞれ閉域ネットワークに閉じる事で通信アクセスもプライベートに制限するケースも多いです。 また、AivenはOSSのデータプラットフォームなので、各パブリッククラウドで利用されているシステムから接続したり相互に連携するこ…
結論 環境変数に各種設定項目を設定して実行します。この環境変数は psql コマンドと共通です。 direnv で設定するとたとえば接続先ごとに柔軟な変更ができます。 例 $ export PGSSLMODE="verify-ca" $ export PGSSLROOTCERT="server-ca.pem" $ export PGSSLCERT="client-cert.pem" $ export PGSSLKEY="client-key.pem" $ pgcli -h localhost -p 5432 -U username -d postgres 参考 参考の参考 psql では環境変…
状況 結論 鍵のフォーマットを変更(変換)する。 $ openssl pkcs8 -topk8 -inform PEM -outform DER -in 変換前の鍵.pem -out 変換後の鍵.pk8 -nocrypt 参考 github.com
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥2,400 91%OFF!! ⭐ ⭐ ⭐ ⭐ (20,088件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥2,200 …
はじめに この記事はエンジニアになって研修期間中にFBCというプログラミングスクルーで学んだことを書いています。実務や職場のことについては特に触れていませんので、その点ご了承下さい。 どんな人に向けて書いているか エンジニアを目指している方や、エンジニアになったばかりでこれから体型的に基礎を固めていきたいけど、独学でやると知識が偏りそう。プログラミングスクールに入って学習してみたいけど、沢山あるしプログラミングスクールはなんか怪しいと思って一歩前に進めない人に向けて書いています。 なぜエンジニアを目指している方に向けて書こうと思ったのか 私はもともとスクールは怪しいと思って、1年以上(1800…
はじめに 近年、IoT技術の発展により多くのデータが収集可能になってデータベースが多用されるようになってきました。さらに多くのデータを収集して、ビックデータ解析により異常検知や需要予測などに活用されています。データベースの一つにPostgreSQLがあり、これはリレーショナルデータベースに分類されます。 本記事では、PythonでPostgreSQLを操作する方法と、DockerでPostgreSQLコンテナの作成する方法を簡単に紹介します。 はじめに 1. DockerでPostgreSQLコンテナの作成 2. PythonでPosgreSQLを操作するPythonコード オススメ書籍 スキ…
Railsでトランザクションを扱いたい時はActiveRecordに実装されたtransactionメソッドを呼び出します。 ActiveRecord::Base::transaction do : end 今までRailsでトランザクションのブロックを宣言した時は、他のトランザクションからデータの取得、更新は出来ないと思っていましたが、先日、勘違いであることに気づきました。更新はトランザクションの待機によってすぐには実行されませんが、データの取得は可能です。取得もさせたくないのであれば排他制御を行い明示的にロックの宣言をする必要があります。 トランザクションのブロックを宣言しただけでは、他の…
SQLAlchemy2.0でPostgreSQLを動かす際、driverどれにするか迷ったのでメモ。 結論 その時はasync使う必要がなかったのでpsycopgにした。FastAPIなどasyncをモリモリ使う場合はasyncpgにするとDB接続以外のところでasync使って速度出そうとしているのをうまく活かせそう。 ORMでのBULK INSERTの最適化 SQLAlchemy2.0ではほとんどのdriverでBULK INSERT + RETURNING(executemany() + RETURNING)の最適化が施された。executemany()の最適化は1.4でpsycopg2に…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,600 94%OFF!! ⭐ ⭐ ⭐ ⭐ (20,088件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,500 …
Rundeck とは www.rundeck.com n8n とは n8n.io 乗り換えた理由(Rundeck のつらみ) 重い メモリ 2GB の VPS で Rundeck 専用につかっても重い ジョブの一括削除すると必ずタイムアウトするか 30分 ぐらい待ってエラーとかでどうにもならなくなった 起動が遅い メモリ使用量が常時上限張り付き 乗り換えにあたって要した条件 軽いこと コードベースでジョブが扱えること IFTTT は全部ポチポチ GUI なのでジョブが増えると手に負えなくなる 柔軟性が高いこと n8n は多くの Integration に対応している n8n は多くの node…
MySQLからER図を描くとき、面倒臭いとか思ったりしたことはありませんか!! そんなときにER図を描く手間を減らしてくれる、便利なツールDB2mermaidがあったので簡単に紹介します! 本日の主役 DB2mermaid · PyPI 環境 フォルダ構成 環境構築 仮想環境の作成 必要なパッケージのインストール DockerでMySQLを起動 サンプルデータの取得 Dokerfileの作成 docker-compose.ymlの作成 MySQLを起動 DBeaverで接続確認 DB2mermaidを利用する Pythonファイルの作成 実行してER図を取得する 作成されたER図を見る オンラ…
3/18〜京都に行って、YAPCとその前日祭を聴講しにいきました。 yapcjapan.org 前日祭では、LTが行われていて、特にPerl初心者が書いたコードのレビューについての発表が、共感できて好きでした。 空リストの判定の書き方とそのレビューが、あるあるだなーって思いました。夜は、Helpfeel Techさんの懇親会に参加していました。 店について最初に頼んだ唐揚げが出てきたのが2時間後とかで、ここの注文はスタックなのか??とか会話していたのが楽しかったです。当日は、前日に聴講するものを全て選んでから行きました。 小さく始め、長く続けるOSS開発と貢献 売上と開発環境を同時に改善するた…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,078件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,900 …
無料枠のfly.ioだと、rails db:seedを実行した時メモリが不足しているようで途中で止まってしまうので ローカル環境のdbの内容を移行することにしてみました。 postgreSQLのコンテナの中でpostgresユーザーに切り替えた後に、pg_dumpコマンドでデータベースのバックアップを取得します。 docker exec -it <PostgreSQLのcontainer id> bash su - postgres pg_dump myapp_development > myapp_development.dump exit exit docker cpコマンドで取得したバッ…
こんにちは! pixiv事業本部Webエンジニアリングチームでアルバイトをしている、うすゆき(@usuyuki26)と申します! 今回は、ピクシブ百科事典のリファクタリングをしていく中で出会ったPhactoryについてお話しさせていただきます。 Phactoryとは PhactoryのGitHubリポジトリでA Database Factory for PHP Unit Testsと説明されている通り、ユニットテストでのデータベース作成やデータ挿入を支援するライブラリです。 テスト時はテスト対象のクラスにPDOとしてDIすることで、いとも容易くデータベースが絡むテストを実現できます。 self…
Rubyist Hotlinksにインスパイアされて始まったRubyistめぐり。第1回は高橋征義さんをゲストに迎えて、お話を聞きました。こちらは後編です。前編はこちら。 Rubyが他の言語に与えた影響 藤村:第2部、高橋さんについて聞いてみようと思います。今更ながらRubyについて聞きたいんですけど、好きな機能とかありますか? 高橋:好きな機能ですか?あんまり機能としてこれというのなくて、全体的に使い勝手がいいですね。まあでも、そういう意味でいえばオープンクラスの方がいいんじゃないの?みたいな感じがしますね。オープンクラスじゃないRubyはつらそうだって。 藤村:確かに。 高橋:つらそうとい…
psqlってのは、簡単にいうとpostgresSQLを扱うためのツールみたいなもん。 下記記事参考。 psqlとは、PostgreSQLの対話型操作をおこなうフロントエンドインターフェイスを指します フロントエンドインターフェイスって何やねん...とおもたけど、インターフェイスってのは 2つの異なる機器やシステム、ソフトウェア間で情報のやり取りがなされる際、その間をつなぐ規格や機能 らしいので、とにかく異なる二つのものをつなぐ、今回でいえば使用中の言語とpostgresSQLを繋いでくれるものってことかな。 and-engineer.com