「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
はじめに 先日、Railsの勉強のために現場で使える Ruby on Rails 5速習実践ガイド という本でタスク管理アプリを作成しました。 そこでよりRailsの理解を深めるためにもSinatraでタスク管理アプリを実装することにしました。 今回はSinatra,PostgreSQL,ActiveRecordをデータベースの設定についてまとめました。 database.ymlのproduction設定(Herokuにデプロイすることを想定) productionにurl: を追加 # database.yml default: &default adapter: postgresql en…
PostgreSQLには、データを分散させる機能があり その中の「継承」について記載する。 9.4時点なので、現行13では 改善されている部分もあると思う 継承 テーブルを分割し、部分的な閲覧や総括的な閲覧などを可能にする A △ ┃ ┏━┻━┓ B C Aから継承したBを作成することで、Aのカラムや型 not null などを引き継ぐ create table B ( check(・・・) ) inherits A; メリット パーティションを分けて、並列化できれば、分散時のパフォーマンス改善も可能 引き継がないもの 主キー 外部キー インデックス 一意 よって、Aテーブルに主キーを設定して…
CentOS7やRedHat Enterprise Linux(略称RHEL)の公式リポジトリにあるPostgreSQLのバージョンは9.2です。 今回は、バージョン9.5以上をyumでインストールする方法を紹介します。 実施環境&対応バージョン インストール手順 1. 公式PostgreSQLサイトにて手順を確認 2. PostgreSQLのリポジトリを追加 3. yumコマンドでPostgreSQLをインストール 4.データベースの初期化&起動 5.事後確認 実施環境&対応バージョン 実施環境 仮想化ソフトVMware workstation 15 Player ゲストOSCentOS 7…
国内のテックイベント 海外のテックイベント 本記事では、会員へのアンケートで興味関心があるキーワード・テーマに沿ったオンラインイベント・エンジニア勉強会などを紹介いたします(※開催状況は3月31日時点の情報となります) 国内のテックイベント ■Kotlin Tech Talk 〜Kotlin開発で経験した失敗事例や課題解決の知見共有会〜開催日:2021年4月5日(月)19:30〜20:30公式サイト:https://mercari.connpass.com/event/206751/キーワード:Kotlin、jcenter、TIPS共有 ■第22回 PostgreSQLアンカンファレンス@オン…
はじめに Docker Swarmを使ったPostgreSQLストリーミングレプリケーション実装の備忘録です。Docker Composeファイルとレプリケーション設定用のスクリプトを組み合わせて実装しています。レプリケーションの動作確認はPostgreSQLのサンプルデータベースとして公開されているDVDレンタル予約データベースで実施しています。 はじめに 前提条件 ソフトウェア構成 ディレクトリ作成 構成ファイル作成 # vi ./docker-compose.yml # vi ./master/0000_configure_replication_master.sh # vi ./rep…
はじめに 本記事ではDockerのSwarm機能を使って2ノードクラスタ構成のコンテナ環境を構成します。デプロイするアプリはこれまでと変わらずTERASOLUNAツアー予約システムのサンプルWEBアプリとしますが、コンテナ側の構築をメインに扱うためApacheを除いたTomcat-Postgresの2層のコンテナ構成で実装することにしました。 はじめに 想定環境 留意事項 表記ルール お作法 仮想マシン複製 仮想マシンファイルコピー 仮想マシン構成ファイル修正 仮想マシン登録 OS基本設定 ホスト名設定 hostsファイル追記 Docker環境確認 環境依存ファイル収集 起動用テンプレートディ…
PostgerSQLで、nullの置換 nullでなければ、その値、nullなら代替 select COALESCE(カラム, 代替) from テーブル; Oracle の nvl と同様の動きであるが、厳密には null でない最初の値 で select COALESCE(カラム1, カラム2, カラム3, 代替) という感じで、左から順に、null でない値があったものを返す
はじめに 本記事では、ローカルなCentOS VM上にApache、Tomcat、PostgreSQLの標準的なOSSをインストールし、NTTデータ社がGitHubで公開しているサンプルWEBアプリ『TERASOLUNAツアー予約システム』デプロイします。コンテナ技術を扱った記事を今後書いていく上での出発点として投稿します。 はじめに 想定環境 留意事項 表記ルール お作法 OS基本設定 ホスト名の設定 タイムゾーンの設定 ファイアウォールの無効化 SELinuxの無効化 OS再起動 Apacheインストール・設定 Apacheインストール Apacheテストページ接続 Tomcatインストー…
結論 サービスコンテナでLOCALEに ja_JP.UTF-8 を設定することはできない 自力でLOCALEを追加するイメージを作って、docker run で起動する Dockerfile FROM postgres:11.5 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 GitHub Actionsのワークフロー設定 正しい呼び名がわからず name: postgresql on: [push] jobs: postgresql: runs-on: ubuntu-latest…
Heroku で Flask のアプリを動かしたりPostgreSQL を無料の範囲内で使う手順のメモです。(無料版の制限事項は Heroku を使って無料でアプリを開発 参照。) 事前に Heroku のアカウントを作成しておく必要があります。なお、無料の範囲内でも PostgreSQL を使いたい場合はクレジットカードの登録が必要です。 Heroku のアカウントを作成後、 Heroku Dashboard から Account Settings - Billing に遷移すればクレジットカードを登録できます。 Heoroku CLI のインストール Heroku を使う時、ほとんどの操作…
この記事は何 応用情報技術者試験 略語・用語 セキュリティ SQL その他 この記事は何 試験前日なので、略語や用語を詰め込むために記録した記事。 応用情報技術者試験 試験時間・出題形式・出題数(上記ページより引用) 時間は十分にあるので、知らない単語や用語が出て何も思い出せない状態だけは避けるようにしたい。 略語・用語 セキュリティ 『サイバーセキュリティ - Wikipedia』・『総当たり攻撃 - Wikipedia』の「攻撃手段」の項目・『マルウェア - Wikipedia』は用語を聞かれる可能性もあるので覚える(XXXのような攻撃はなんと呼ばれているか、のような問題)。 AES:Ad…
こんにちは!kossyです! さて、今回はRailsでunionを使って複数テーブルに跨がるORDER BY を実現する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.6 POstgreSQL 12系 MacOS Catalina 実装 抽象化した例文が以下かなと。 scope :super_order, -> () { query = <<-SQL.squish SELECT * FROM ( SELECT テーブル1.*, CASE WHEN 条件 then 0 WHEN 条件 then 2 WHEN 条件 then 4 end AS s…
はじめに データエンジニアリングまわりを復習したときのメモです。 Webアプリから発生するデータを使ってモデルを継続的に学習させるためのデータ基盤を想定しています。 データエンジニアリング導入以前ver 概要 CSVファイル PoC時点などのシンプルな実装だと、サーバ腹持ちCSVファイルのみでデータを管理する、ということもあると思います リレーショナルデータベース(RDB) 同時実行制御・耐障害性 一貫性・拡張性・信頼性・速度 関連技術要素 【CSV】pandas, etc 【RDB】PostgreSQL, MySQL, etc 課題 Webアプリケーションデータベースとは疎にしたい(分ければ…
1. はじめに カラダノートの 堀内 です。 TypeScriptの次世代ORMである Prisma から、RDB側で作成したViewを参照する要件がありました。 せっかくなのでその手順をチュートリアルにします。 2. Viewを参照するチュートリアル 公式にPostgreSQLを例にしたドキュメントがあるので、そちらを参考にします。 www.prisma.io RDB側の準備 まず RDB側に Viewを作成します。 公式のクイックスタート からサンプルプロジェクトをダウンロードします。 curl -L https://pris.ly/quickstart | tar -xz --strip…
APC 亀崎です。前回に続き、第3回になります。 複数リソースをデプロイする Azure BicepはAzureリソースデプロイを宣言的に記述できるDSLです。Azureのリソースデプロイ用の定義ファイルARM(Azure Resource Management) Templateを拡張したものになります。 github.com 前回までのように1つのリソースをデプロイするだけならば、「ARM TemplateのJSONファイルよりはちょっとだけ見やすいかもしれない」程度の認識だったかもしれません。Bicepの本領発揮はもう少し複雑な定義をしたときです。 PostgreSQL関係リソースのデプ…
はじめに アップデート内容 AQUA for Amazon Redshift が一般提供開始 Amazon RDS for PostgreSQL が AWS Lambda の呼び出しをサポート Amazon SageMaker Studio が ノートブックへの自動タグ付けとコスト配分タグをサポート AWS CodeCommit が 大阪リージョンで利用開始 Amazon Connect の Contact Control Panel で設定をカスタマイズできるように Amazon Connect が Contact Control Panel でオーディオデバイス設定をサポート 最後に はじ…
gigazine.net Googleは2022年までにCookieを使った広告配信を終了させ、新たな仕組みをGoogle Chromeに導入する予定です。その仕組みとして検討中のアイデアの1つに「FLoC」と呼ばれるものがありますが、電子フロンティア財団(EFF)はFLoCについて「最悪のアイデア」「実行しないで欲しい」と述べています。 https://gigazine.net/news/20210305-googles-floc-terrible-idea/ gigazine.net Googleはプライバシー侵害が懸念されるサードパーティーCookieを使った新しい広告の仕組みを開発中で…
コンニチハ、BFT名古屋支店のヤタテです。 今回は、AWSの代表的サービスの一つであります、RDSについてご紹介したいと思います。 AWS RDSとは Amazon Relational Database Serviceの略称です。 AWSクラウド上でリレーショナルデーターベース(RDB)を使用できるサービスのことです。 リレーショナルデータベースとは 行と列によって構成された表形式のテーブルと呼ばれるデータの集合体を互いに関連付けて保管しているデータベースのことです。 イメージとして、高機能なExcelのようなものです。 選べるエンジンタイプ AWS RDSで選択できる6種類のデータベースの…
こんにちは。CData Software Japan リードエンジニアの杉本です。 この記事では、Grafana と CData Connect を組み合わせることで、ネイティブにサポートされていないデータソースを追加して分析に利用する方法を紹介します。 Grafanaとは? CData Connect とは? Grafana へのSaaS データ連携 接続手順 CData Connect にSalesforce データを接続 Grafana で Salesforce データを使う おわりに Grafanaとは? Grafanaは、Grafana Labs が公開しているオープンソースのダッシ…
2021/04/14分のコミットです。 CHANGELOGへの追加はありませんでした。 Lint Markdown blank lines around headings [ci-skip] rails guideの修正です。 headingの後に空行を追加するよう修正しています。 Simplify Time.find_timezone! logic activesupport/lib/active_support/core_ext/time/zones.rb、 activesupport/lib/active_support/values/time_zone.rbの修正です。 Time.fi…
はじめに どうも~100日後にオウルオルフェノクになるシロフクロウで~す。 ↑仮面ライダー見すぎだろ! 大変失礼いたしました。新入生の皆さん初めまして。54代のプログラミング研究会会長のHarrisonKawagoe(@hrsnkwge_pro)でございます。 ところで、「Docker」や「AWS」みたいな単語を聞いたことありますか? 名前だけ聞いたことある人はそこそこいると思いますが、具体的にどういう風に使われているのかはご存知ですか? 自分がプログラミングの勉強を始めたばかりの頃、バージョン管理とコンテナ技術などは全然知らなくて、一番最初の環境構築で躓いたことがあります。 そしてようやく自…
はじめに こんにちは、機械学習の活用を加速させるために学習インフラの開発やワークフロー自動化に取り組むチームに所属している澁井です。今回は自動運転のためのデータ検索基盤を自作した話を書きます。 なお、ティアフォーでは「自動運転の民主化」をともに実現していくエンジニアを募集しています。今回ご紹介する機械学習だけではなく、様々なバックグラウンドをお持ちの方と開発を進めていく必要があります。下記ページから募集職種のリストをご覧いただき、興味を持った方はぜひお気軽にご連絡ください! はじめに 課題 検索システムをどのように作るか どのくらいの期間で作ったか もっと検索できるようにしたいデータがあった …
やったこと 4/12 Ruby…(Ruby超入門)1時間 4/13 css初級(フィヨルド)…1時間15分 symphony5のチュートリアルに着手…45分 1%の成長 前ほど、環境構築に対して抵抗(うっ・・・難しそう・・・という感情)が無くなった気がする!RubyやRailsのバージョンアップ、PHPの環境構築と通して「これで合ってるのかな?」と思いつつも動く嬉しさを学べたからかな。 反対にやりたかったけれど出来てなかった技術(ポスグレ・docker・環境構築の練習など)にトライ出来ることが嬉しい。 新しい発見 Rubyのモジュールについて 名前空間について クラス名や変数名が重複していると…
2021/04/13分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 railties/CHANGELOG.md Remove Rack::Runtime from the default middleware stack and deprecate referencing it in middleware operations without adding it back activerecord/CHANGELOG.md Allow passing SQL as returning statement to #upsert_all Allow passing SQL…
今日のコミット。 rust-atcoder 1 commit abc198 a, e ABC198 E が想像以上に簡単だった……。 D を飛ばしてこちらを解いていれば……。 2021-03-26 のマルチテナントのデータベースの実装方針の話の続きのメモ。 PostgreSQL ではクライアント接続ごとに単一のデータベースにしか接続できない。 https://www.postgresql.org/docs/13/ddl-schemas.html このことからマルチテナントのデータベースを PostgreSQL かつ「テナント別データベース」で実装して接続プールを使用すると接続数がテナント数に合…