OSS-DB Silver 取得に向けて勉強中です。
Ping-tの最強問題集に取り組んでいます。
前もって学習した
『OSS教科書 OSS-DB Silver ver.2.0対応(翔泳社)』(緑本)と
『徹底攻略OSS-DB Silver 問題集 ver2.0対応(インプレス)』(黒本)
には出てこない事項が、チラホラPing-tの問題に取り上げられているので
Ping-tにはには出てくるけれど教科書(緑本)&問題集(黒本)には出てこない事項
をここにメモしておきます。忘備録。
スーパーユーザ権限なしでロールを作成
「test」ロールをスーパーユーザ権限なしで作成するSQL。
CREATE ROLE test NOSUPERUSER;
CREATE ROLE test;
緑本p77(4章標準ツール-4 createuser)にコマンドは紹介されていたが、
SQLは紹介されていなかった。
因みにコマンドだと
createuser [接続オプション][オプション][ユーザ名]
で、オプションで下記のように指定する。
-s、--superuser
:スーパーユーザ権限を設定する
-S、--no-superuser
:スーパーユーザ権限を設定しない(デフォルト)
リリースノート
問題に「PostgreSQLのリリースノートについて正しいものはどれか。」と取り上げられていた。
(Ping-t 最強WEB問題集OSS-DB Silver(Ver2.0) 問題ID : 12322)
緑本と黒本の「バージョン」の項を確認したが、掲載されていなかった。
リリースノートって何?
↓
・バージョンアップがリリースされるたびに公開されるドキュメント
・バージョンアップに伴う変更点が記載されている
ドキュメントの記載内容は以下。
このリリースノートには、PostgreSQLの各リリースでなされた重要な変更点が記載されています。 また、主要機能や移行に関する問題点も最初に記載されています。 リリースノートにはごく一部のユーザにしか影響しない変更点や内部的なものであるためユーザには隠れている変更点は記載されていません。 例えば、オプティマイザはほぼすべてのリリースで改良されていますが、この改良はユーザにとっては通常、ただ問い合わせが高速になったと感じるものです。
(引用元:PostgreSQL 11.5文書)
Ping-tの解説は以下。
PostgreSQLのリリースノートは、メジャーバージョンとマイナーバージョンの各々がバージョンアップし、リリースされるたびに公開されます。マイナーバージョンアップは、バグ修正やセキュリティ修正が主となります。
(引用元:Ping-t 最強WEB問題集OSS-DB Silver(Ver2.0) 問題ID : 12322解説)
ALTER SYSTEM
問題に「サーバのパラメータ値を変更するALTER SYSTEMコマンドについて正しいものはどれか。」と取り上げられていた。
(Ping-t 最強WEB問題集OSS-DB Silver(Ver2.0) 問題ID : 12224 設定ファイル)
ALTER SYSTEMは、バージョン9.4において新機能として追加された、サーバのパラメータ値を変更するSQLコマンド。
//書式//
ALTER SYSTEM SET パラメータ名 TO {設定値 | DEFAULT};
ALTER SYSTEM SET パラメータ名 = {設定値 | DEFAULT};
Ping-tの解説は以下。
ALTER SYSTEMコマンドで設定したパラメータは「postgresql.auto.conf」ファイルに書き込まれ、「postgresql.conf」ファイルが読み込まれる際に設定を上書きします。
(引用元:Ping-t 最強WEB問題集OSS-DB Silver(Ver2.0) 問題ID : 12224解説)
プリペアド文
「PREPARE」コマンドが入っているSQL文で取得できるデータ件数を問う問題が取り上げられていた。
PREPAREはプリペアド文を作成するコマンド。
//書式//
PREPARE プリペアド文の名称 [(引数のデータ型[, 引数のデータ型...])] AS 問い合わせ;
「$n」には引数の値が入る。
プリペアド文を使用すると指定した問い合わせの書き換え・構文の解析・実行計画の作成が一度実行するだけで済むため、性能の向上が図れる。
(メモ:詳細はOneNoteへ)