.bashrc と .bash_profile

postgreSQLrpmでインストールしたところ、pg_ctlなどのコマンドがパスが通っておらず使えなかった。

 

パスを通したさいのメモ。

-------

-bash-4.1$ diff .bash_profile .bash_profile_20161026
4,5d3
< PATH="$PATH":/usr/pgsql-9.4/bin/
<

-------

 

-------

bash-4.1$ cat .bash_profile

[ -f /etc/profile ] && source /etc/profile
PGDATA=/var/lib/pgsql/9.4/data
export PGDATA
PATH="$PATH":/usr/pgsql-9.4/bin/

# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source /var/lib/pgsql/.pgsql_profile

--------

--------

[root@yukinon bin]# su postgres
bash-4.1$
bash-4.1$
bash-4.1$ pg_
pg_basebackup  pg_dump        pg_dumpall     pg_restore

--------

--------

[root@yukinon bin]# su - postgres
-bash-4.1$ pg_
pg_basebackup   pg_controldata  pg_dump         pg_isready      pg_resetxlog    pg_test_fsync
pg_config       pg_ctl          pg_dumpall      pg_receivexlog  pg_restore

--------

 

sshでログインすると、.bash_profile -> bashrcの順に実行されます。

.bashrc     :シェル起動時に読み込まれる。

.bash_profile :ログイン時のみ読み込まれる。

 

su - :ログインし、シェルを起動する。

su   :シェルをきどうするのみ。

 

 

 

 

 

■参考にさせていただいたもの

qiita.com

 

postgresqlのバックアップ/リストア(実機)

表題について、実機で確認しながら勉強。

以下、メモと理解。

 

○バックアップ(スクリプト形式)
-----
pg_dump postgres > dump_postgres_`date +%Y%m%d_%H%M%S`
pg_dumpall > dump_all_`date +%Y%m%d_%H%M%S`
-----

○バックアップ(アーカイブ形式)
-----
pg_dump -Fc db3 > dump_db3_Fc_`date +%Y%m%d_%H%M%S`
-----

○リストア
-----
・成功
pg_restore -v -C -d postgres dump_db3_Fc_20161010_222326
    -v:進捗状況を詳細表示
    -C:リストア前にDBを作成する。
    -d:DB作成の際に接続するDBを指定する(作成するDBを指定するのではない。)
・失敗
-bash-4.1$ pg_restore -C -d db3 dump_db3_Fc_20161010_222326
pg_restore: [アーカイバ(db)] データベース"db3"への接続が失敗しました: FATAL:  データベース"db3"は存在しません
-----


○「pg_dump
・データベースを指定してダンプする。
スクリプト形式(デフォルト)
    テキスト形式。SQL文。psqlでのみリストア可能。dbはcreateされない?。
アーカイブ形式
    バイナリ形式。pg_restoreでのみリストア可能。

○「pg_dumpall」
・データベースクラスタ全体をダンプする。

スクリプト形式のみ。アーカイブ形式はない。

○テンプレートDBは削除できない。
template0とtemplate1は、createdbやcreate databaseをした時のひな形として利用されるそう。
-----
postgres=# DROP DATABASE template1;
ERROR:  テンプレートデータベースを削除できません

postgres=#  DROP DATABASE template0;
ERROR:  テンプレートデータベースを削除できません
-bash-4.1$ dropdb template0
dropdb: データベースの削除に失敗しました: ERROR:  テンプレートデータベースを削除できません
-bash-4.1$ dropdb template1
dropdb: データベースの削除に失敗しました: ERROR:  テンプレートデータベースを削除できません
-----


○DB作成、削除に専用コマンドがある。
テンプレートを指定するオプションがある。デフォルトは「template1」
-----
-bash-4.1$ createdb --template template0 db3;
-bash-4.1$
-bash-4.1$ dropdb db3
-bash-4.1$
-----

次回、pg_basebackupコマンドについて。

今回実施したpg_dumpやpg_dumpallとの違いについて調べたいです。

 

 

■参考にさせていただいたもの

PostgreSQL/template0とtemplate1の違いについて - 調べる.db

 

qiita.com

 

qiita.com

PostgreSQLのバックアップ/リカバリ

oracleとposgresqlは似ているようです。

MySQLだけ、ログが二種類あったり、一貫性のあるバックアップしかできなかったりと特殊なようです。

 

以下、postgresql部分についての理解、書いていきます。

 

○ベースバックアップ

リカバリを実行してPITRを実施できるバックアップのこと。

orcleと同様に一貫性が取れていない状態。

 

○分離ブロック

ホットバックアップ(オンラインバックアップ)取得中、

データファイルのと、バックアップによるデータファイル読み取りが競合する可能性がある。

ブロックのIO単位と、OSレベルのIO単位が異なることに起因して、分離ブロックが発生する。←いまいちよくわからない。

分離ブロックは不正なブロックなので、修正する必要あり。

 

 

○物理バックアップ

cpコマンド、rsyncコマンドなどで、データファイルをコピーしてバックアップすること。

オンラインでもオフラインでも実施できる。

 

○論理バックアップ

pg_dumpコマンドなどで、SQL形式などに出力するバックアップ

 

 

 

■参考にさせていただいたもの。

 

www.slideshare.net

 

www.slideshare.net

 

qiita.com

postgresql DB監視

web系は一旦お休み。

近頃、DBアーキテクチャの理解はまずまず進み、話もわかるようになりました。

しかし、オペレーションが全くできないのでそこを改善したいです。

OSSでお手軽なpostgresqlで勉強します。

 

○監視

PDCAを回すために監視する。

システムに対してもPDCAを回す、というのが今までになかった観点。

 

・OSレベルの監視

vmstat

iostat

mpstat

sar

ps

free

 

・DBレベルの監視

 

 

眠くてまとめ切れていませんが、監視寒天だけでなく

全体を把握しやすいslideでした。

 

 

次回は「PostgreSQL運用管理入門 」のsllide

 

■参考にさせていただいたもの

 

www.slideshare.net

HTML5とは

昨日に引き続きWeb系の調べ物。

以下、自分の理解。

結局、HTML5と聞かれても、答えられるレベルにはならなかった。

 

 

HTML5とは

W3CWHATWGが共同で策定中。

2014/10/28勧告。正式な仕様となる。

狭義のHTML5と広義のHTML5があり、

狭義のHTML5は、新しいHTMLと新しいJavaScript API。よくわからん。

ブラウザの互換性の問題をHTML5は解決する。

 

HTML5の大まかなカテゴリ
・Semantics
・OFFline & Strage
・Multimedia
・3D, Graphics & Effects
・Connectivity
・Device Access
・Performance & Intergration
・Styling(CSS3)

 

W3C(ダブルスリーシー)

Webの標準化団体。

W3C勧告となった文書は、他業界での工業規格と同等。

元はXHTMLを推していた。

 

WHATWG(ワットダブルジー)

AppleMozillaOperaに所属するメンバーにより立ち上げられた。のちにgoogleも参加。

元はHTMLの拡張を要求していた。

 

○CSS3

広義のHTML5に含まれる。

全体がモジュール化されたらしい。

 

MIMEタイプ

URLのついているもの全てにある、どう表示・処理すればいいかの唯一の指標。

へー。

 

次回はネイティブアプリ、Webアプリ、Webページについて調べる。

 

■今後調べたいワード

FLASH

MIMEタイプ

 

■参考にさせていただいたもの

www.slideshare.net

 

www.slideshare.net

 

www.slideshare.net

www.slideshare.net

フロントエンドエンジニアとは

Webやらhttpについて知りたいと思い、適当にslideshareをあさっていると、フロントエンドエンジニアという言葉を見かけました。

よく耳にはしていましたが、意味がわかっていなかったので簡単に調べてみました。

以下、自分の理解。

 

○フロントエンドエンジニア

ユーザがいじるところ、ユーザが見るところを開発するエンジニア。

技術的には、HTML CSS JavaScriptとか。

クライアントサイドとnearly equalなのかな。

画面開発する人。

 

○バックエンドエンジニア

ユーザから見えないところ、裏で処理しているところを開発するエンジニア。

技術的には、Javaとかなのかな。よくわからなかった。PHPRubyもこっち?

サーバサイドとnearly equalなのかな。

 

○DOM

Document Object Model

プログラムでHTML(やXML)を扱うための仕様だそう。

 

 

次回はhtml5について調べたいと思います。

 

■参考にさせていただいたもの

www.slideshare.net

nobkz.hatenadiary.jp

e-words.jp

 

www.slideshare.net

 

二章第二回 DOMとは — JavaScript初級者から中級者になろう — uhyohyo.net