Tihiroのストレスフリーな生活

少しだけ頭使って後は根性

PostgreSQLで現在のトランザクションIDを確認する。

概要 いつも通りタイトルの通りなのですが、PostgreSQLで現在のトランザクションID、つまりはxidを確認する方法についてす。 確認方法 SELECT txid_current(); で確認することができます。 ただし、psqlで実行する場合は暗黙的にトランザクションが開始され…

Vagrantでディスクを追加してLVMで論理ボリュームを作成したお話。

概要 いつまで経ってもディスクの追加とか、ディスクサイズの拡張とか、パーティションの作成とか、マウントとかが理解できないので実際にやってみたメモ。 環境 CentOS7 やってみた Vagrantでディスクを追加する Vagrant、と言ったものの実際には、VirtualB…

PostgreSQLでレコードのブロック番号を調べる方法

やりたいこと テーブル内に格納されているレコードのブロック番号を調べたいってときありますよね? 環境は PostgreSQL 12.3 です。が、多分どのバージョンでも大丈夫です。 調べる pg_visibilityという拡張モジュールを使うと確認することができます。 post…

QNAPのNASのメモ

概要 タイトルの通り、QNAPのNASをアレコレすることがありましたので、そのときのメモです。初めてNASの管理画面とかを触ったのですが、色々難しいもんですね。 メモ homeフォルダとhomesフォルダの違い homeの配下には見えないけど各ユーザーのフォルダが存…

フレンドホームについて感想的というか宣伝というか

概要 たまには里親らしい記事でも、と思いましたのでフレンドホームについての紹介記事。 東京都の話です。 フレンドホームについて 東京都福祉保健局のHPのリンクを貼っておきます。 www.fukushihoken.metro.tokyo.lg.jp ようするに週末に遊びに行く親戚の…

PostgreSQLのパラメータを変更する。

PostgreSQLの話です。 パラメータを変更する方法 postgresql.confを変更する。 ALTER SYSTEM SET コマンドで変更する。 SET コマンドで変更する。 の3通りでしょうか。 1のpostgresql.confの変更と、ALTER SYSTEM SET コマンドの変更では永続的に変更されま…

CentOS7上のPostgreSQLを日本語環境にする。

環境 CentOS7 PostgreSQL のバージョンは問いません。 CentOSの設定 localectl set-locale LANG=ja_JP.UTF-8 localectl set-keymap jp106 timedatectl set-timezone Asia/Tokyo ロケール(文字コード? エンコード? エンコーディング?)を日本語でUTF8にし…

共有バッファのPIN

PostgreSQLの話をしていて、知らなかったのですがPINとかいうものがあるそうで、色々と確認してみました。 が、ドキュメントの類には全くPINの解説などがでてこず、よくよく話を聞いてみると"src/backend/storage/buffer/README"に書かれているそうです。 な…

チェックポイントの発生タイミング。

前回のチェックポイント実行から checkpoint_timeout 秒経過した時 max_wal_size に指定したサイズ分のWALログレコードがWALセグメントファイルに書き込まれたとき CHECKPOINTコマンドを実行したとき PostgreSQL が正常に停止されたとき pg_basebackup 関数…

DRBDの仕組みメモ

DRBDによってデバイスが作成される。 その作成されたデバイスにファイルシステムを作成してマウントすることでデータを保存できるようになる。 DRBDによってデバイスを作成するには、その元となるパーティションが必要となる。 なので、DRBDの設定で「/dev/s…

PostgreSQLでVACUUMの進捗状況を把握したい。

VACUUMを実行した場合にいつまで経っても完了しない場合、どれだけ進んでいるのかとか、実はフリーズしているんじゃないかとか色々考えてしまいますよね。 そんなときに"pg_stat_progress_vacuum"を確認すれば進捗状況が分かるそうです。 www.postgresql.jp …

corosync.confの解説というかメモというかなんというか

環境 corosync 2.4.5 参考URL blog.drbd.jp corosync.conf totem { # バージョン(とりあえず2で?) version: 2 # 暗号化方式 crypto_cipher: none # HMAC認証の方式 crypto_hash: none # 冗長化の設定(noneだと冗長化されない) rrp_mode: active # 通信…

CentOS7でPacemaker+Corosyncの環境構築したメモ。

環境 CentOS 7 構築 参考URL docs.openstack.org www.sraoss.co.jp 構築手順 何事も手順を明確にしておくのは大事。 ソフトウェアインストール yum install corosync pacemaker pcs corosyncの設定 corosync.confを編集するのではなく、pcsコマンドとかで設…

ユーザーのホームディレクトリを変更するとプロンプトの表記が「-bash-4.2$」とかいう表記になった。

環境 CentOS 7.7 現象 例えば useradd docker してdockerユーザーを作成した後、ホームディレクトリを変更するために usermod -d /var/docker docker としました。その後、 su - docker してみると、プロンプトの表記が -bash-4.2$ となるのです。 ホームデ…

PostgreSQLのdump/restoreで個人的に分かりにくいところ

PostgreSQLでのdump/restore(バックアップリストア)が個人的にすんごいややこしい。特にアーカイブ形式がややこしい。その中でも何がややこしいかってpg_restoreがややこしい。 平文形式とアーカイブ形式でリストアの方法が違うのがややこしい 平文系式 →…

ディストリビューションに依存しないパッケージ管理システム、それがsnapです。

なんかの本を読んでいるときに、snapというディストリビューションに依存しないパッケージ管理システムがあるということを知りましたので、少し調べてみました。 要はCentOSだったらyumで、Ubuntuだったらaptとかを使い分けなくて済むというお話ですね。 [公…

PostgreSQL12は追記型アーキテクチャじゃなくなる?

タイトルの通り、PostgreSQLがバージョン12から追記型アーキテクチャではなくなってVACUUMとかが要らなくなる、というお話をチラチラ聞いたことがあるのですが、色々ググってもそんな話は全く無く不思議に思っていました。 で、最近見つけたのが PostgreSQL …

curlのインストール(./configure)でエラーになる。

configure: error: one or more libs available at link-time are not available run-time. Libs used at link-time: -lssl -lcrypto -lz -lrt とかいうエラーが発生した場合は yum install openssl-devel すればOKでした。

CentOS 5にPostgreSQLをインストールする。

概要 タイトルの通り、CentOS 5にPostgreSQL9.2をインストールしたい。ということです。正直、大変でした。 環境 Vagrant 2.2.7 CentOS 5.11 手順 yumのリポジトリURLを変更する zlib-develをyumでインストールする readline-develをyumでインストールする P…

PostgreSQLで現在書き込み中のWALのファイル名を確認する。

確認する 書き込み対象のWALファイルの名前を確認する(WALログ書き込み位置 → WALファイル名)。 PostgreSQL 10以降 pg_walfile_nameとpg_current_wal_lsnを組み合わせて確認します。 SELECT pg_walfile_name( pg_current_wal_lsn() ); な感じです。 Postgr…

Macでリモートデスクトップに繋がらない。

Microsoft Remote Desktopを使ってWindowsにリモートデスクトップ接続しようとすると We couldn't connect to the remote PC. Make sure the PC is turned on and connected to the network, and that remote access is enabled. Error code: 0x204 なエラー…

Vagrantfileのhostnameにはアンダーバーを使えない。

Vagrantfileで config.vm.hostname = "main_node" なことをしていると、vagrant upしたときに The hostname set for the VM 'default' should only contain letters, numbers, hyphens or dots. It cannot start with a hyphen or dot. と怒られます。 なの…

Windows10で起動時に「C:¥Windows¥Downloaded を開始中にエラーが発生しました。」と出る。

いつ頃からかWindowsを起動した際に「C:¥Windows¥Downloaded を開始中にエラーが発生しました。指定されたモジュールが見つかりません」とかいうエラーメッセージが表示されるようになりました。 エラーメッセージのウィンドウのタイトル(?)は「RunDLL」…

ホストからDockerコンテナにpingを通したい。

概要 MacでDocker。 ホストからコンテナにpingが通らない。 悲しい。 環境 macOS High Sierra 10.13.6 Docker 19.03.8 結論 無理。 理由 Macの場合(というよりDocker for mac?)はホスト上にブリッジネットワークが作成されない仕様の模様。詳しくは qiita…

はてなブログの名前を変えてもgoogle検索にはすぐに反映されない模様。

このブログの名前を変えたのですが、Google検索の結果は変更前の名前で表示される。 なんとかならないもんかなぁ、と色々あれこれ方法を探してみたのですが、Googleに登録してなんちゃらとか色々面倒な感じ。 なので、放置していたのです。 そして先ほど、Go…

ansibleのplaybookで「- hosts: all」でエラーになる。

ansible始めました。んでもエラーになるんです。 環境は「ansible 2.7.5」です。 実行コマンド $ ansible-playbook test.yml test.ymlの中身 --- - hosts: all sudo: yes tasks: - name: install wget yum: name=wget エラー内容 ERROR! 'sudo' is not a val…

Vagrantで作成したcentos上でユーザーを作ったらsuでrootになれない。

環境 Vagrant 2.2.7 VirtualBox 6.1.4 CentOS 7 状況 やったこと Vagrantでcentos7のゲストOSを作成 centos7上でユーザー作成 したいこと centos7上で作成したユーザー(user1)で su - して、rootになりたい。 できること vagrantユーザーではrootになれる us…

vagrant upする前にインストールしておきたいPluginなメモ

バージョン確認 vagrant --version Vagrant 2.2.7 と出ました。 ちなみにOSはUbuntu 18.04です。 個人的に便利と思われるプラグイン vagrant-vbguest vagrant-hostsupdater vagrant-ip-show 動きませんでした。 vagrant-disksize vagrant-proxyconf プロキシ…

-tオプションをつけてテーブル名指定でpg_restoreしたけどリストアされない。

-tオプションをつけてテーブル名を指定してリストアしたところ、実行が空振り(すぐに終了)する。もちろんテーブルはリストアされていない。 何故かと色々検証してみたところ、テーブル名が大文字小文字を判別している模様。 つまりはTB_NAMEっていうテーブ…

systemctl statusのログが省略される。正直、困る。

経緯 dockerコンテナ上でfirewalldが動かないので、状態を見ようと思ったけどログが省略されて分け分からん状態。 現状 systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/fi…