「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
最後に更新してから1ヶ月がたったぞとはてなブログのメールが来たのでなにか更新を試みる... 今月は仕事が忙しかったのもあってあんまりメンタル的に余力がなかった. 疲れてるとゲームしかしなくなる病なのです... 実際残業がそこそこ多い月だといろんなことをやる気力がなくなるのは事実. どうしたものやら. 今日知ったことをちょっとだけ. postgresqlで,制約の遅延評価というものがある. たとえば主キーの制約に違反しているかをデフォルトでは各statement が終わったときにチェックして違反していたら即エラーを出すが, 遅延評価をオンにするとそれをトランザクションの終了時に先延ばしすることが…
概要 ソースコードからインストールした PostgreSQL をマイナーアップグレードするには、新規インストールと同じ手順を踏みます。 詳細 PostgreSQL のマイナーリリースの間には互換性があります。 マイナーリリースでは内部格納書式が変わることは決してありませんので、同じメジャーバージョンにおける前後のマイナーリリースとの間で常に互換性があります。 例えばバージョン10.1はバージョン10.0やバージョン10.6と互換性があります。 同様に、例えば9.5.3は9.5.0、9.5.1、9.5.6と互換性があります。 互換性があるバージョンとの間で更新するためには、サーバを停止させ、実行…
centosのpostgres 初期だとログインできないケースがある # psql -U postgrespsql: FATAL: ユーザ "postgres" で対向(peer)認証に失敗しました /var/lib/pgsql/data/pg_hba.conf ファイルをみてみると local all all peer となっている、クライアントのログインユーザを元に判別する方法 まあ、centosのログインユーザや、root ではエラーとなる pear を、trust にかえることで、パスワード不要になる local all all trust サービスを再起動する サーバ接続にて、適切な…
データベース移行後記 技術開発部の杉山です。 先日、弊社のAdvent Calenderで書かせて頂いた、Pg_pool+ReplicationからAurora PostgreSQLへの移行が完了しました。 同様にEOL済みのPostgreSQLから少し新しいPostgreSQLへの移行や、Auroraへの移行を検討されている方の参考になればと思い後記に残す事にしました。 techblog.lclco.com メジャーバージョンのEOLステータス 弊社で利用していた、PostgreSQLは9.xでしたのでFirst Releaseから既に5年以上の月日が経っていて、Final Releaseも…
オミカレでテックリードをしております、高橋です。 ちなみにその任も後2週間足らずで終わりです。 3月からは別の会社で働く事になっておりますが、これは転職 or 退職エントリでは無いのでまたの機会に..! いやぁーーー、この2〜3ヶ月、本当に色んなタスクを倒してきたなーーー!DMS撤退に始まり数十万円単位でのインフラリソースの削減等も完了出来る状態になった。思い残す事は何も無い。という事で本日、高橋は最終出社日でございます!— ikkitang (@ikkitang) 2021年2月11日 さて、表題の通りですが、この度 オミカレでの最後の大仕事として DMS撤退、Aurora撤退を決めてきたの…
% brew services # サービスのステータスを一覧表示する % brew services start postgresql # postgreSQLを起動する % brew services stop postgresql # postgreSQLを停止する % brew services restart postgresql # postgreSQLを再起動する % brew services help # servicesのヘルプを表示 Linuxのsystemctlに似ている???
家のWindows10のPCにPostgreSQL*1をインストールしたら、pgAdminがローディングのままずっと開かなかった。ggったら以下のサイトで解決したので備忘録。 stackoverflow.com レジストリエディター上で、 コンピューター HKEY_CLASSES_ROOT .js と辿って、.jsクリックした状態で右に表示されるContent Typeを右クリック→修正→値のデータを「text/javascript」に変更し、pgAdminを起動し直すと治った。直してほしい。 *1:12、13両方
この記事では、『【元祖WEB3層構築②】ミドルウェア導入編』で構築したインフラにNTTデータ社が提供しているサンプルアプリケーション「TERASOLUNAツアー予約システム」をデプロイし、WEBアプリケーションが動作することを確認する。 サンプルアプリ用DBデータ準備 データベース作成 サンプルアプリ用DBデータINSERT INSERT結果確認 サンプルアプリのデプロイ サンプルアプリのダウンロード&コンパイル サンプルアプリのデプロイ サンプルアプリ接続確認 AJP設定追加 サンプルアプリの動作確認 PostgreSQLのログ出力設定変更 アプリケーション動作確認(会員登録処理) アプリケ…
この記事では、『【元祖WEB3層構築①】OSインストール編』で準備したWEB/APサーバとDBサーバに必要なミドルウェアをインストール、設定する。また、各ソフトウェアコンポーネント間の接続確認まで行い、アプリケーションが動作するためのインフラを構築する。 プレゼンテーション層 Apacheインストール Apacheテストページアクセス アプリケーション層 Javaインストール Java環境変数設定 Tomcatインストール Tomact環境変数設定 Tomcatテストページアクセス WEBアプリケーションマネージャ設定 データベース層 PostgreSQLインストール データベース初期化 Po…
結論 例えば、my_hobbies のようなカラムがあり、配列型で定義されているとします*1。そのようなカラムを含んだテーブルを特に何もせずに embulk-output-postgresql で PostgreSQL に書き込むと、以下のようなエラーが出て怒られます。 org.embulk.exec.PartialExecutionException: java.lang.UnsupportedOperationException: Unsupported type _VARCHAR (sqlType=2003, size=2147483647, scale=0) このとき、当該カラムを {…
default_transaction_read_only を on に設定する alter database database_name set default_transaction_read_only = on; postgresqlco.nf その他メモ レプリカのDBを作ってReadOnlyに設定する手順 現行DBのexport pg_dump database_name > import.sql レプリカへのインポート psql replica_database_name < import.sql ReadOnlyに設定 alter database replica_databas…
Purpose Pgadmin 4 の設定をExport/Importする方法をまとめる 設定のExport/Import やりたいこと PostgresのクライアントツールのpgAdmin。pgAdminからDBに接続するためには、Serverへの接続設定を行わないといけない。この設定を複数環境(別PCなど)にコピーして、使いまわせるようにしたい。 pgAdmin3の場合 pgAdmin3までは、レジストリに設定が保存される仕様だったようで、HKEY_CURRENT_USER\Software\pgAdmin IIIレジストリの下に保存されている。らしい。もうPgadmin3使わないから確認…
概要 概要 結構便利なので、ここに残しておきます。よく忘れるので。 開発時などで、たまにテーブルデータをガサーっと一気にクリアしたいときとかがあります。 そういうときに、テーブル仕様書とかを見ながら、削除するクエリを作っても全然問題ないのですが、めんどくさい・・・。 こういう作業は、コンピュータにやってもらったほうが楽です。なので、PostgreSQLさん自身にクエリつくってもらいましょう。 SELECT 'TRUNCATE TABLE ' || ARRAY_TO_STRING(ARRAY_AGG(relname), ',') || ';' AS query FROM pg_stat_user…
久しぶりに書こうとすると、どうするんだっけってド忘れしてちょこちょこ調べている気がするのでメモ。 例えばシーケンスならこう。pg_classに対してSELECTする。 select 1 from pg_class where relname = 'sequence_name' and relkind = 'S'; relkindは、それが何なのかを表す。 r: 通常のテーブル i: インデックス S: シーケンス v: ビュー 詳しくはpg_classの公式ドキュメント
これまで学んだSQLコマンドについてまとめた。 データベースの操作 データベース作成 データベース一覧 データベース削除 データベースに接続 データベースの接続終了 操作方法 helpよりもっと詳しい操作方法 テーブルの操作 テーブル作成 テーブル一覧表示 テーブルに設定されてるカラム(列)確認 テーブル名変更 テーブル削除 カラムの操作 カラム追加 カラム削除 カラムの名前変更 カラムのデータ型を変更 INSERT:テーブルにデータを登録する SELECT:必要なデータを検索して取り出せる すべてのカラムを取り出す 一部のカラムを取り出す テーブルを複数扱うとき UPDATE:レコードの値を…
IIJmio は完全かけ放題は無いんだな。— とみたまさひろ🍣🍺 (@tmtms) 2021年2月24日 おそらくここ数十年でもっとも広範な人々の言語文化に影響を与えた詩人なのに、文学的な研究のうえではほとんど「いなかったこと」にされている相田みつをのように、いらすと屋もむちゃくちゃ広い範囲に大きな影響を与えるだろうけど、美術研究ではほとんど言及されないエアポケットになるのかな。— ジロウ (@jiro6663) 2021年2月24日 昼休みの散歩中に見た北アルプスが綺麗だった。 pic.twitter.com/CA0A3HxvYe— とみたまさひろ🍣🍺 (@tmtms) 2021年2月25日…
go-sqlmock を使ったことがなかったので、Gormを使ってデータベースにアクセスするアプリケーションをテストするコードを書いてみました。 READMEに sqlmock is a mock library implementing sql/driver. Which has one and only purpose - to simulate any sql driver behavior in tests, without needing a real database connection. sqlmockはsql/driverを実装したモックライブラリです。目的は一つだけで、実際…
会社でMackerelを使ってMysqlサーバーの監視を行っているのですが、Mysql Threadsの見方が初めはさっぱり分からなかったので、自分で調べたり、先輩に聞いたりして得た自分の理解を残しておこうと思います。 メトリック Mysql Threadsのグラフには5つのメトリックが表示されます。 Cache Size Connected Running Created Cached (グラフは会社で実運用しているものなので出せませんが、知らないとこの記事には辿り着かなそう、、) こちらに説明している記事がありますが、自分はMysqlのスレッドとコネクションについて知らなかったので、理解で…
こんにちは。CData Software Japan リードエンジニアの杉本です。 今日はノーコードプラットフォームであるUnqorkと CData API Serverを組み合わせたOracle データベースとの連携方法を紹介したいと思います。 Unqorkとは? 本記事のシナリオ 必要なもの 手順1:API Server API Server の環境構成 オンプレミス側 Oracle Client のインストール Oracle の接続を追加する 対象のエンドポイントを追加する ユーザーの追加と動作確認 手順2:Unqork Unqork で作成する画面について Unqork に API S…
タスクモデルの作成 rails g model Task name:string description:text マイグレーションファイルが作成される。 ->create db/migrate/20210225083532_create_tasks.rb マイグレーションを実行 bin/rails db:migrate Postgresqlにログイン psql アプリ名_development ログイン後\dtでテーブル一覧を表示
PostgreSQLでインデックスを設定したカラムに対し、LIKE演算子を使って「部分一致('〇〇%')」で取得しようとしたが、INDEXが機能しない。 create index on m_user (name) Indexの対象はユーザーマスタテーブルの「name」カラム。 WHERE句でカラムに対し「=(イコール)」条件による実行だと、Index Scan(索引兼検索)が行われている。が、 LIKE演算子の部分一致で実行すると、何故かSeq Scan(フルスキャン)で参照している。後方一致or部分一致ならわかるが、これがどうしたものか・・・。 lets.postgresql.jp 上記にテ…
何も考えずに、git pullしたら起動しなくなったという話。 Exception while creating PDO object:SQLSTATE[08006] [7] FATAL: role "www-data" does not exist どうもconfig.phpの方式が変わったらしく、defineからputenvで指定する新しい形式に変更しないとダメのもよう。 For any config.php settings you have changed from the defaults (normally this is the DB_ group of settings and…
下記ツイートを見て改めて考えてみました。 更新系APIでDBトランザクション張る時、対象のリソース群の親となるリソース(大抵はUser)を無条件で最初にロックする手法が当たり前だと思っていたけど、もしかして世間ではそうではないのかな...デッドロックリスクを忘れられる大きなメリットがあると考えていたんだけど。— やまでぃ🤗 | YOUTRUST (@aiueo4u) 2021年2月16日 並行に書き込みをどのように処理するかという点も含めて整理してみました。 並行性の問題一覧 名称 内容 ダーティリード あるクライアントが他のクライアントのまだコミットされていない書き込みを見ることができる。 …
notyのデザインについては以下を参照して下さい。 ned.im notyはyarnを使ってインストールします。 コマンド yarn add noty 「app\javascript\packs\application.js」に以下の記述を追加します。 記述追加 app\javascript\packs\application.js(11行目) window.Noty = require("noty") app\javascript\packs\application.js // This file is automatically compiled by Webpack, along wit…
こんにちは、株式会社mikanでデータ分析を担当している @ij_spitz です。 データ分析チームのブログも2本目になりますが、今回は前回の記事で少しだけ頭出しをしていたデータ分析基盤の歴史について書いていきます。 ↓前回の記事はこちら mikan-tech.hatenablog.jp 英単語アプリmikanは2014年10月にリリースされたプロダクトでデータ分析基盤も年月を経て変わってきました。 その頃と比べると現在はAWSやGCPで分析系のサービスが充実しており、知見も豊富になってきているので、現行の基盤以外は正直参考になりません。 また自分たちでもそんなことをしてたのかと疑いたくなる…
2021年度IPA未踏IT人材発掘・育成事業公募概要の竹迫PMメッセージの中で略歴として記載のある通り、2020年6月より株式会社Scalarの技術顧問に就任しました。 株式会社Scalarの技術顧問として、セキュリティ技術やエンジニア組織に関する相談や方針・設計に関するレビューを行うパートタイムのアドバイザー契約が中心となりますが、急成長するITベンチャーでよく発生する組織課題の解決や運営の相談にも乗っています。技術発のベンチャー事業が成長するにつれて0→1、1→10、10→100のそれぞれのフェーズにおいて、組織と事業のギャップを乗り越えていく必要がありますが、将来スケールした100のフェ…
0.はじめの動機 1.作り方 2.繋ぎ方 3.とにかくSSH 4.インターネットに繋ぎたい 5.トラブル MoodleBox Wifiが居なくなる だめだったやり方 6.iPhoneテザリングを有線接続してインターネット側につなぐ 7.最後に 0.はじめの動機 Learning Management Systemで研修コースを作るのを試してみたい。 でも、ある程度クローズドなネットワークで試してからにしたい。 と考えて、CanvasとMoodleを比較していいたところ、MoodleはRaspberryPi用のRasbianベースのディストリビューション(?)があるというので、なにをするものだか…
GitLabをOmnibusインストーラーでインストールし、最初にGitLabにブラウザでアクセスするとパスワードの変更を求められます。 このユーザーが「誰?」という話。特に名前も表示されていないのでわからないし、なにより忘れるのでメモしておこうかなと。 正体は、rootユーザーです。 ドキュメント上、記載がない気がするのですが…ここくらいでしょうか? To reset the default admin password, run this Rake task with the username root, which is the default username of that admi…