2013年12月31日火曜日

MySQLのデータベース管理者は、PostgreSQLを見て

Original post: http://anothermysqldba.blogspot.com/2013/12/a-mysql-dba-looks-at-postgresql.html

だから、これは/の旅ですMySQLのに探して、DBA のPostgreSQL 。 それだけの観察と例攻撃ではありません。 

使用してCentOSの6.5 64 -を: 

RPM-IVH http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/pgdg-centos93-9.3-1.noarch.rpm

YUM groupinstall "PostgreSQLデータベースサーバ9.3 PGDG" 
--->パッケージpostgresql93.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 
--->パッケージpostgresql93-contrib.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 
--->パッケージpostgresql93-libs.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 
 
--->パッケージpostgresql93-server.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 

YUM postgresql93·サーバーをインストールする 

サービスのpostgresql-9.3 initdbを 
初期化データベース:[OK] 
サービスのpostgresql-9.3スタート 
[OK]:のpostgresql-9.3サービスを開始 
上のpostgresql-9.3をchkconfigの 

以下の例はすべてに基づいているPostgreSQLのウィキ 
#SU - Postgresの 
-BASH-4.1 $のPSQL 
 
PSQL(9.3.2) 

Postgresは=#ユーザtestuserとパスワード設定'1234 'を作成します。 
CREATE ROLEを 
testuserとするスキーマ·テストされているすべてのpostgres =#付与管理; 
GRANT 

Postgresの= testuserとするスキーマ·テスト内のすべてのテーブルに掲示されているすべての#付与管理; 
GRANT 
Postgresの=#\ Q
-BASH-4.1 $出口
ログアウト
#SU testuserと

$ PWD 
/ホーム/ testuserと 
$ psqlの次元のPostgres 
PSQL(9.3.2) 

ヘルプ「ヘルプ」と入力します。 
Postgresは=>テーブルtest.test(COLTEST VARCHAR(20))を作成します。
CREATE TABLEを
Postgresは=> test.test(COLTEST)値( '!それが動作')に挿入;
0 1を挿入
Postgresは=> test.test SELECT * FROM;
COLTEST
-----------
動きます!
(1行目)

Postgresの=>テーブルtest.testをDROP。
DROP TABLEの
Postgresの=>

私はこれらのGRANTステートメントは9.3でうまく働いたことがわかりましたが、ディストリビューションは、もともと8。*バージョンをインストールし、コマンドの一部が失敗しました。 

ところで···もちろん、まだあなたが安定したRDBMシステムに期待される機能を備えています。 付与されたこれらの簡単な例です。 

Postgresの=> test.test SELECT * FROM EXPLAIN; 
クエリ·プラン 
-------------------------------------------------- ------ 
シーケンシャルスキャンテストで(コスト= 0.00 .. 19.20行= 920幅= 58) 

表示データベース== \ Lを 
Postgresの- >の\ L 
Postgresの| postgresの| UTF8 |はen_US.UTF-8 |はen_US.UTF-8 | 
template0に| postgresの| UTF8 |はen_US.UTF-8 |はen_US.UTF-8 | = C / Postgresは+ 
| | | | | postgresの= CTC / Postgresは 
template1に| postgresの| UTF8 |はen_US.UTF-8 |はen_US.UTF-8 | = C / Postgresは+ 

| | | | | postgresの= CTC / Postgresは 

使用することは、標準的なSQLです。 
Postgresの- >使用のPostgres 

すべてのスキーマをリストします。 

Postgresの- > \ DN 
公共| postgresの 

テスト| postgresの 

ショーは、テーブルを作成し、などがもう少し作業です。 付与されたMySQLのDBAは、理由我々がやって使っているものの多くの仕事としてそれが表示されます。 PostgreSQLはMySQLのユーザーがやってするのに使用されるよりも、表領域多くを使用しています。

  Postgresは=>テーブルは連番(somefieldはvarchar(255)、anotherfieldはvarchar(150)、日付フィールド日付)を作成します。 
  CREATE TABLEを 
  Postgresは=>は連番(somefield、anotherfield、日付フィールド)VALUES( 'FUBAR'、 'rabuf'、'2013-12-30 ')内に挿入します。 
  0 1を挿入 
  Postgresは=>(接触'FUBAR'、 'rabuf'、())は連番(somefield、anotherfield、日付フィールド)は値を挿入; 
  0 1を挿入 
  Postgresは=>(接触'fubar2'、 'rabuf2'、())は連番(somefield、anotherfield、日付フィールド)は値を挿入; 
  0 1を挿入 
  Postgresは=>は連番から*を選択します。 
   somefield | anotherfield |日付フィールド   
  ----------- + -------------- + ------------ 
   FUBAR | rabuf | 2013年12月30日 
   FUBAR | rabuf | 2013年12月30日 
   fubar2 | rabuf2 | 2013年12月30日 
  (3行) 

=> SELECT *は連番からsomefieldは= 'FUBAR'のpostgres; somefieldは| anotherfield |日付フィールド----------- + -------------- + ---- -------- FUBAR | rabuf | 2013年12月30日FUBAR | rabuf | 2013年12月30日(2行)

Postgresの=> \? < -ヘルプは、どのようにナビゲートする方法を紹介します。

表示テーブル== \ DT

Postgresの=> \ DT
関係のリスト
スキーマ|名前|タイプ|オーナー
-------- + ----------- + ------- + ----------
公共|連番で|テーブル| testuserと

Postgresの=>は連番[11]のCOLUMN intfield INTをADDのALTER TABLE、ALTER TABLE

連番でからのPostgres => SELECT *; somefield | anotherfield |日付フィールド| intfield ----------- + -------------- + -------- ---- + ---------- FUBAR | rabuf | 2013年12月30日| FUBAR | rabuf | 2013年12月30日| fubar2 | rabuf2 | 2013年12月30日|(3行)

ショーは、テーブルを作成する== \ D +テーブル名
Postgresの=> \ D +連番で
テーブル"public.sometable」
コラム|タイプ|モディファイ|ストレージ|統計対象|説明
-------------- + ------------------------ + ---------- - + ---------- + -------------- + -------------
somefield |キャラクター変化(255)| |拡張| |
anotherfield |キャラクター変化(150)| |拡張| |
日付フィールド|日付| |平野| |
intfield |整数[] | |拡張| |
OIDを持っている:なし


より多くのあなたがpgAdminのをインストールすることができます助けるために
YUM pgadmin3_93をインストールする

仕事にそれを取得し、どのように動作することは別の全体のブログの記事である可能性があります。

これまでのところ.... 私は、MySQLに固執しますが、これはPostgreSQLを使用するだけで単純化した例である。 これはあなた自身のために評価することができますあなたはあなたに始めることができます。

以下の便利なリンク。 彼らは私よりもPostgreSQLのより多くの経験を持っているとして、これらを参照してください。