プライマリーキーとユニークキーの違い

結論

最初に結論です。

 

プライマリーキー(PRIMARY KEY)とユニークキー(UNIQUE KEY)の違いは、

null値を保存できるかそうでないかの違いです。ご参考まで。

 

PRIMARY KEY … null値は保存不可 

UNIQUE  KEY …  null値は保存可

 

 

KEYの宣言方法

参考までにプライマリーキーとユニークキーの書き方は次のように書きます。

CREATE TABLE テーブル名(・・・ , 
    CONSTRAINT 主キー名 PRIMARY KEY (列名),
    UNIQUE(列名)
);

nullif関数

nullif関数とは、2つの文字列が等しい時nullを返す関数です。

間違えやすい「文字列がNullの時、別の文字列に置換する」とは全く異なるので注意して下さい。

-- 文字列Aと文字列Bが等しい時nullを返す
-- AとBが異なる場合は、文字列Aを返します
nullif(A , B)

 

あわせて読みたい

https://postgresweb.com/post-1593

 

 

使用例

nullifを使った例を紹介します。そのまま実行できますので試してみて下さい。

--AとBが等しいためnullが返る
select nullif('abc','abc');   -- null
select nullif('','');         -- null

--AとBが等しくないためAが返る
select nullif('abc','ABC');   -- 'abc'
select nullif('abc',null);    -- 'abc'

当サイトは、アフィリエイト広告を利用しています

 

 

悩めるSE
悩めるSE
AWSの試験対策見てたら『Udemyがおすすめ!』ってあったんだけど。
Udemyってなに? 結構高いから手を出しづらいな。

 

このようなお悩みを解消します。

 

 

Udemyで数多く購入している私が、
おすすめポイントとお得に学べる方法、
数ある講座の中で特におすすめなものを紹介します!

 

 

 

本題の前に

Udemyでは1,200円になる最安値セールが年に数回あります。

 

おそらく今年は残り2回で、2023年11月のブラックフライデー(開催中)とサイバーマンデー(11月末あたり)だと思われます。

 

このタイミングを逃してしまっても、例年なら年始セール(1月)があるためそこも1,200円になるはずです。ただ、1月を逃すと当面1200円の最安セールにはならないので興味がある人は今から物色し1月までに買っておくのがおすすめです。(サイバーマンデーと年始セールが必ず開催するかはわからないのでそこはご勘弁を。)

 

>> 最新セール情報はUdemyで確認! << 

 

 

 

Udemyとは

Udemyとは世界最大の動画学習プラットフォームで、特にIT系に強いことが特徴です。

 

そのカバーする範囲も広く、例えばPythonなど言語はもちろん、AWSや情報処理技術者試験の試験対策、セキュリティから、データサイエンティスト、ブロックチェーンなど多岐に渡ります。

 

そしてなんと言っても、Udemy最大の魅力は、セールの割引率の高さです。

セール前の金額は正直高いのですが、頻繁に実施されるセールでは1,200円〜(最大95%)でコースを購入できます。

 

また、私はUdemyの特にここがいいと思っています。

・1つ1つの講座が買い切り制

⇒ 一度購入すると視聴期限なく利用することができます。

月額制も多い中、余計なお金がかからないのがメリット。

 

・講師に質問が可能

⇒ 独学だと一度つまずくと苦しくなりがちですが、

講師に質問ができるため学習を進めていくことができます。

 

・いろいろな端末に対応

⇒ PCだけでなくスマホアプリでも閲覧ができます。

ダウンロード可能な講義も多く、通勤中にはおすすめです。

 

 

では、ここから私が特におすすめの厳選講義を紹介していきます。

 

 

特におすすめな講義

AWS 認定クラウドプラクティショナー 模擬試験問題集

もはやエンジニアには必須レベルになってきたAWS。その一番入門レベルであるクラウドプラクティショナーの試験対策で、簡単にいうと模擬問題をたくさん集めたものです。しかしそのクオリティから5万件を超える受講生がいるベストセラーです(評価平均4.3)。

 

模擬問題集なので別途基本知識の学習は必要です。おすすめは、AWS公式「AWS Skill Builder」に「AWS Cloud Practitioner Essentials (Japanese) (日本語実写版)」という無料の動画教材があるのでお勧めです。日本人が日本語で説明してくれます。

 

≫ 【2023年版】この問題だけで合格可能!AWS 認定クラウドプラクティショナー 模擬試験問題集 ≪

 

 

 

 

AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座

こちらはソリューションアーキテクトの講座です。

AWSの基礎知識をハンズオンで掴むことができます。タイトルは「これだけでOK」となっていますが、問題集もあった方がぶっちゃけ安心です。

 

≫ 【SAA-C03版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座 ≪

 

 

 

 

AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集

上の講義に対してこちらは問題集です。本番試験で難しい問題が出題されても回答できるように、少し難易度が高めに設定されています。

 

≫ 【SAA-C03版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集 ≪

 

 

 

 

~始めから効率よく学ぶ~ 基本情報技術者試験 最速 合格講座

2023年4月からの新試験構成に対応。基本情報技術者試験合格のために必要な知識が重点的に身に付けられます。

暗記問題に関してはあまり触れない代わりに、SQLや擬似言語について、重きを置くという割り切りが特に好印象です。試験対策演習付き。

 

≫ ~始めから効率よく学ぶ~ 基本情報技術者試験 最速 合格講座 ≪

 

こちら講師はITパスポートの講座も好評で、
ITパスポートが合格できたので
これもさらに受講したという声もあります。

 

 

 

 

令和5年版:現役講師が教える【基本情報技術者試験 科目A】講座

こちらは基本情報科目A特化の講座なので暗記系の内容も学びたい人向けです。2023年4月からの新試験構成に対応。

25.5時間のボリュームに加え、動画はダウンロード&倍速も可能なので通勤時間等にもおすすめ。

 

≫ 令和5年版:現役講師が教える【基本情報技術者試験 科目A】講座 ≪

 

 

 

 

令和5年秋版:現役講師が教える【応用情報技術者試験 午後版】講座

2023年4月からの新試験構成に対応。49時間もの動画により余裕をもって80点以上で合格することを目指す講義です。

最高評価※を取得していることだけあって、「書籍ではイメージがしずらい箇所の解説が丁寧」、「このコースのおかげで合格できた」等、レビューもいい意見がとても多いです。

※最高評価:主要トピックとカテゴリーの組み合わせの中で、最近の販売数が最も多かったコース かつ コース平均評価が4.2以上。

 

≫ 令和5年秋版:現役講師が教える【応用情報技術者試験 午後版】講座 ≪

 

 

 

 

Git: もう怖くないGit!チーム開発で必要なGitを完全マスター

Gitと聞くだけで苦手意識を持つ人も多いのではないのでしょうか?

たくさんあるコマンドをポット言われてもわからん。gitを知らないと思われることが恥ずかしいから聞けない。何がわからないことがわからない。等々

 

この講座は、基礎からちょっとした応用まで網羅してくれています。

講師の人はyoutubeでも活躍されていて声も聞きやすくわかりやすく、実際の開発現場の実例を交えながら教えてくれるのでためになります。

 

要するに「Git意味不明!だけどなんとかしたい!」はこの講座がおすすめです!

≫ Git: もう怖くないGit!チーム開発で必要なGitを完全マスター ≪

 

 

 

 

モダンJavaScriptの基礎から始める挫折しないためのReact入門

Reactの入門教材としておすすめなこの講座。

学び始めた頃って、意外と「これって何のことだ?」という細かいレベルのことで気になったり、進まなくなったりした経験はないでしょうか?この講座では、そういう細かなことを背景などを踏まえて説明してくれます。

またJavaScriptとReactの違いを、実際のコードを使って説明してくれる点があったり理解しやすい構成になっています。

 

≫ モダンJavaScriptの基礎から始める挫折しないためのReact入門 ≪

 

 

 

 

【完全版 101 + 102】LinuCレベル1試験対策講座

LinuCを取るための専門講座(LPICも対応)。

Linuxの基礎(全体像)から仕組みを理解できるようになります。

 

≫ 【完全版101+102】LinuCレベル1試験対策講座!(図解豊富/コマンド) ≪

 

 

 

 

【入門から実践まで】Webマーケティングの全体像とデータ活用を短時間で学び実際にSEO集客ツールを作ってみよう!

スタビジの運営者による講座。
アニメーション編と実践編に講座がわかれており、マーケティングの基礎からしっかりと学ぶことができます。

 

≫ 【入門から実践まで】Webマーケティングの全体像とデータ活用を短時間で学び実際にSEO集客ツールを作ってみよう! ≪

 

 

 

 

ブロックチェーンの仕組みをひとつひとつ図解

特別な事前知識は不要。プログラミングの知識があまりなくても、ブロックチェーンの仕組みを深く理解することを目指した講座です。

図解が多く、現状の課題や今後どのようになっていくのかをわかりやすく説明してくれます。

 

≫ ブロックチェーンの仕組みをひとつひとつ図解 ≪

 

 

 

 

NFT アート 販売・マーケティング徹底解説講座

この講座はNFTってなんなの?NFTを始めてみたいけど、どうすればいいのか、仮想通貨についてもよくわからないという人におすすめ。

私も仮想通貨やNFTはかじっており、NFTをOpenSeaで出品していたりします。一般企業だと周りも全然詳しくなく、2、3歩先に言っているみたいで、楽しいですよ。

 

≫ NFT アート 販売・マーケティング徹底解説講座 ≪

 

 

 

 

ゼロトラストセキュリティ

モバイルやIoT機など身の回りの機器が多くなってきた中で、セキュリティに関する情報も日々進化しています。

この講座では、耳にすることが最近多くなってきた「ゼロトラストセキュリティ」の考え方を学んでいくことができる講座です。

 

≫ ゼロトラストセキュリティ ≪

 

 

 

 

ジェネレーティブAI(生成AI)入門【ChatGPT/Midjourney】 -プロンプトエンジニアリングが開く未来-

プロンプトエンジニアリングとは?という基礎からその可能性を学ぶことができる。またChatGPTなどの対話AIの基礎、Midjourney等の画像生成AIの基礎、さらにAIの活用方法までといった。基礎+活用例を学ぶことができる。

 

≫ ジェネレーティブAI(生成AI)入門 ≪

 

 

 

 

以上になります。参考になればうれしいです。

>> 最新セール情報はこちら! <<

構文

日付や時刻を指定のところ(精度といいます)で切り捨てるには、date_trunc関数を使います。

-- date_trunc(日付の切り捨て)の構文
date_trunc( 精度 , 日付・時刻 );

 

精度には'year'、'month'、'day'等を指定します。次のように実例を示すとわかりやすいです。

select cast('2021/2/14 01:23:45.678912' as timestamp); 
-- "2021-02-14 01:23:45.678912"を使って、date_truncを実行してみます

-- 1.年で切り捨て(精度に'year'を指定)
select date_trunc('year', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-01-01 00:00:00"


-- 2.月で切り捨て(精度に'month'を指定)
select date_trunc('month', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-01 00:00:00"


-- 3.日で切り捨て(精度に'day'を指定)
select date_trunc('day', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 00:00:00"


-- 4.時で切り捨て(精度に'hour'を指定)
select date_trunc('hour', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 01:00:00"


-- 5.分で切り捨て(精度に'minute'を指定)
select date_trunc('minute', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 01:23:00"


-- 6.秒で切り捨て(精度に'second'を指定)
select date_trunc('second', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 01:23:45"

pg_dumpの解説です

はじめに、PostgreSQLのpg_dumpとは、バックアップを取得するコマンドなのですが、

オプションが死ぬほど多い、サイトによっても書き方が違う等々、正直私には難しいものでした。

 

それでもいろいろ調べ、試行錯誤しながら理解したことを残したいと思います。

全くわからない人向けに書きますのでご理解頂ければ幸いです。

 

 

pg_dumpとは

まず、pg_dumpとはデータベースのバックアップを行うPostgreSQLのコマンドです。

pg_dumpを実行するためには、次の例のように「pg_dump」を先頭に記述し、

その後にこのような記述の形になります(サイトによっていろいろな表記がありますが)。

pg_dump XXXX XXX                 # いろいろな書き方あり(後述)
pg_dump --file=test.sql testdb   # 例えばこんな感じ

 

そもそも「pg_dump」って何?どこの誰よ?というと…

次の場所にあるのがpg_dumpの正体です

 

・Windowsの場合

「C:\Program Files\PostgreSQL\XX\bin\pg_dump.exe」 ※XXはバージョン

PostgreSQLのインストール先を特に変更していなければこのパスになるはずです。

※ 画面はPostgreSQL12の場合。pg_dump.exeと同じフォルダにあります。

 

・Linux(Ubuntu Server)の場合

「/usr/bin/pg_dump」にあります。

 

 

pg_dumpとpg_dumpallの違い

pg_dumpを探した時、pg_dumpallという似た名前があることに気づいたでしょうか。

 

pg_dumpもpg_dumpallも同じバックアップを取る時に使うものですが、目的が若干異なります。

・pg_dump    … 一つのデータベースのバックアップ取得する

・pg_dumpall … すべてのデータベースのバックアップやユーザー(=ロールという)を取得する

 

pg_dumpは内部的にpg_dumpを複数回行っている形になります。

そのためpg_dumpのほうに焦点をあてて説明します。

 

 

補足.pg_dumpが認識されない時

pg_dumpを実行しようとした時、

「pg_dumpは、内部コマンドまたは外部コマンド、操作可能な…認識されません」

というメッセージが表示されるケースがあります。

 

コマンドの打ち間違いでない限り、理由はこのどちらかだと思います。

① 環境変数(Path)に設定されていない

② pg_dumpのある場所で実行していない

 

対処方法はこちらで紹介していますので、困った場合は参考にしてみて下さい。

あわせて読みたい

記事はpsqlについてのため、pg_dumpに読み替えて下さい。

https://postgresweb.com/post-6273

 

 

 

ーーUについて

pg_dumpのコマンド解説(-Uについて)

ここからはpg_dumpのコマンドを1つ1つ解説します

pg_dumpのコマンドの基本形は次のような形になります。

# pg_dumpのコマンドの基本形
pg_dump -U ユーザー名 --format=出力形式 --file=出力先 バックアップを取るDB名

# 実際のコマンド例
pg_dump -U postgres --format=p --file=c:\backup\test.sql testdb

 

(他のサイトと書き方が違くない?とか思った人がいるかもしれないですが、

少しずつ解説していきますのでお付き合いください。。)

 

実際のコマンド例を基にします。

-U postgres」の箇所は、postgresユーザーで実行することを示していますが、

すでにpostgresユーザーでログインしている時は不要な(=省略可能な)箇所です。

# 実際のコマンド例
pg_dump -U postgres --format=p --file=c:\backup\test.sql testdb

 # すでにログインしているときには-Uが不要
pg_dump --format=p --file=c:\backup\test.sql testdb

 

 

ーーformatについて

formatで指定できる4パターンについて

次に「--format=p」の箇所についてです。formatで指定できるのは4パターンです。

① --format=p:SQL文のテキストファイルで出力される(データも含みます)。※ p=plain

② --format=c:カスタム形式(=簡単にいうと圧縮されたバックアップファイルのこと)

③ --format=t:tar形式

④ --format=d:ディレクトリ形式(テーブル単位でのカスタム形式)

※ ①がデフォルト値(formatを指定しない場合は=pと同じ意味になります。)

※ ④のみ--jobsというオプションを使うと並列バックアップが可能

 

①をスクリプト形式というのに対し、②~④の形式をバイナリ形式と呼びます。

 

補足ですが、①はデフォルト値のため「--fomat=p」は省略できます。

②は圧縮されたバックアップファイルのため、

他の①、③と比べてもファイルのサイズがかなり小さくなります。

③のtar形式とは、ざっくりいうと複数のファイルが1つになったもののことです。

tar自体はPostgreSQL独自ではないので調べてみて下さい。

④はフォルダが作成されその中にファイルが複数出力される形になります。

※いずれの方法も後半で実行結果を紹介しています。

# ①--format=p : SQL文のテキストファイルで出力(次の2行は同じ意味)
pg_dump -U postgres --format=p --file=c:\backup\test1.sql testdb1
pg_dump -U postgres --file=c:\backup\test1.sql testdb1   # format=pは省略可

# ②--format=c : カスタム形式のファイルで出力
pg_dump -U postgres --format=c --file=C:\backup\test2.custom testdb2

# ③--format=t : tar形式
pg_dump -U postgres --format=t --file=C:\backup\test3.tar testdb3

# ④--format=d : ディレクトリ形式
pg_dump -U postgres --format=d --file=C:\backup\test4 testdb4

 

 

--formatは書き換え可能

さらに「--format=」は「-F」に書き換えが可能です。ーFはハイフンが一つのため注意

それぞれ書き換えると次のようになります。

① --format=p   =   -Fp

② --format=c   =   -Fc

③ --format=t   =   -Ft

④ --format=d   =  -Fd

# --format=p : SQL文のテキストファイルで出力(次の3行は同じ意味)
pg_dump -U postgres --format=p --file=c:\backup\test1.sql testdb1
pg_dump -U postgres -Fp --file=c:\backup\test1.sql testdb1
pg_dump -U postgres --file=c:\backup\test1.sql testdb1   # format=pは省略可

# --format=c : カスタム形式のファイルで出力(次の2行は同じ意味)
pg_dump -U postgres --format=c --file=C:\backup\test2.custom testdb2
pg_dump -U postgres -Fc --file=C:\backup\test2.custom testdb2

# --format=t : tar形式(次の2行は同じ意味)
pg_dump -U postgres --format=t --file=C:\backup\test3.tar testdb3
pg_dump -U postgres -Ft --file=C:\backup\test3.tar testdb3

# --format=d : ディレクトリ形式(次の2行は同じ意味)
pg_dump -U postgres --format=d --file=C:\backup\test4 testdb4
pg_dump -U postgres -Fd --file=C:\backup\test4 testdb4

 

 

4パターンの出力方法の使い分け

CPUのリソースを必要としますが、圧縮された形式で取得したい、早くバックアップを

終わらせたいといった場合には、②カスタム形式または④ディレクトリ形式を選択。

 

特に速さ重視なら並列バックアップ可能なディレクトリ形式のほうがよいと思います。

CPUリソースを使いたくない時は、①テキスト形式または③tar形式を選択します。

 

一般的におすすめは②カスタム形式です。

理由は、リストア時に(テーブル単位等での展開ができる等の)柔軟性があること、

必要であればテキスト形式へ変換可能なことが挙げられています。

 

 

--fileについて

指定するファイル名

「--file=c:\backup\test.sql」の箇所ですが、フルパス、ファイル名どちらでもOKです。

フルパスでなくファイル名だけを指定すると、コマンドプロンプトで現在いるフォルダ

(カレントディレクトリ)に出力されます。

pg_dump -U postgres --format=p --file=c:\backup\test1.sql testdb1 # フルパス
pg_dump -U postgres --format=p --file=test1.sql testdb1           # ファイル名のみ

 

 

拡張子

ぶっちゃけ拡張子はなんでもいいです(たぶん)。

ただ次のようになることが多いので、合わせておいた方が無難かと。

① テキスト形式:「.sql」

② カスタム形式:「.dump」、「.custom」、「.backup」、「.dmp」

③ tar形式:拡張子をつけない、「.tar」

④ ディレクトリ形式:拡張子をつけない

 

 

実行確認

最後に4パターン(テキスト形式~ディレクトリ形式)で実行し、

どのような結果になるか簡単ですが紹介します。

 

テスト環境の用意

バックアップ動作確認用の環境を作成します。

余談ですがテスト環境を作成するには、pgbenchを使った便利な方法があります。

大量のテストデータを用意する場合などにも使えますので参考にしてみて下さい。

 

 

 

① テキスト形式でのバックアップ実行

念のため3パターンで実行

# --format=p : SQL文のテキストファイルで出力(次の3行は同じ意味)
pg_dump -U postgres --format=p --file=C:\BackupTest\test1_1.sql testdb
pg_dump -U postgres -Fp --file=C:\BackupTest\test1_2.sql testdb
pg_dump -U postgres --file=C:\BackupTest\test1_3.sql testdb

 

実行結果確認。3つとも問題なく実行可能。

 

メモ帳で開くとこんな感じ。SQLがずらずらと並びます。

 

 

② カスタム形式

2パターンで実行

# --format=c : カスタム形式のファイルで出力(次の2行は同じ意味)
pg_dump -U postgres --format=c --file=C:\BackupTest\test2_1.custom testdb
pg_dump -U postgres -Fc --file=C:\BackupTest\test2_2.custom testdb

 

問題なく実行完了。

サイズはテキスト形式と比べ明らかに減っています。

 

メモ帳では、よくわからない形になります。

 

 

③ tar形式

2パターンで実行

# --format=t : tar形式(次の2行は同じ意味)
pg_dump -U postgres --format=t --file=C:\BackupTest\test3_1.tar testdb
pg_dump -U postgres -Ft --file=C:\BackupTest\test3_2.tar testdb

 

こちらも問題なく実行完了。

サイズはテキスト形式と同じくらいになりました。

 

 

④ ディレクトリ形式

最後にディレクトリ形式です。

# --format=d : ディレクトリ形式(次の2行は同じ意味)
pg_dump -U postgres --format=d --file=C:\BackupTest\test4_1 testdb
pg_dump -U postgres -Fd --file=C:\BackupTest\test4_2 testdb

 

フォルダが作成され、その中にいくつかファイルができます。

 

フォルダの中身はこんな感じです。

 

以上、pg_dumpの解説でした。

少しでも参考になりましたらうれしい限りです。

 

 

リストアについて

リストアの方法についてはこちらで紹介しています。

https://postgresweb.com/post-4279

 

テストデータを作成する

動作検証等で簡単かつ素早く、テストデータを作成したいケースがあると思います。

(バックアップ等の動作確認に使用されるケースもあります。)

pgbenchという標準ツールを使い、「pgbench」というコマンドで実行できます。

 

pgbenchのありか

「pgbench」は「pg_dump」や「psql」と同じところにあります。

Windowsの場合:「C:\Program Files\PostgreSQL\XX\bin\」の中

Ubuntuの場合  :「/usr/bin/」の中

 

テストデータを作成するコマンド

テスト用のデータベース(ここではtestdb)を作成します。

$ createdb testdb
$ createdb -U postgres testdb   # ユーザーを指定する場合

 

データを作成するコマンドは次のとおりです。

$ pgbench --initialize --scale=10 testdb

pgbench     …   ベンチマークツール(pgbench.exeのこと)

--initialize  …  テーブルの初期化

--scale         … 「scale=数値」で指定する。scale=1につきテーブルのサイズ15MB。

 

コマンド実行し「done.」と表示さればOKです(データの作成が完了しました)。

 

確認①:完了すると4つのテーブルが作成されます。

 

確認②:下の例では100万件ほどデータが登録されていることを確認できます。

 

あわせて読みたい

上の例のデータ件数を取得するSQLはここで紹介しています。

https://postgresweb.com/post-5336

以上、pgbenchを使用したデータの作成方法です。

Ubuntu Serverのバージョン確認コマンド

バージョンを確認するには次のコマンドを実行します。

$ lsb_release -a
No LSB modules are available.
Distributor ID : Ubuntu
Description:     Ubuntu 20.04.2 LTS
Release:         20.04
Codename:        focal

※上の例ではオプションを「-a」としていますが、次のパターンがあります。

-i : 「Distributor ID(ディストリビューターID)」を表示します

-d : 「Description(説明)」を表示します

-r : 「Release(リリース)」を表示します

-c : 「Codename(コードネーム)」を表示します

-a:上のすべてを表示します

 

あわせて読みたい

No LSB modules are available.についてはこちらで説明しています。

https://postgresweb.com/ubuntu-no-lsb-modules-are-available

 

postgresql.confの探し方

Ubuntu ServerでのPostgreSQL設定ファイル「postgresql.conf」の探し方を紹介します。

 

postgresql.confを探すコマンド

postgresql.confを探すには次のコマンドを実行します。

$ find / -name postgresql.conf 2> /dev/null
/etc/postgresql/11/main/postgresql.conf
/usr/lib/tmpfiles.d/postgresql.conf

※「 2> /dev/null」の箇所はなくても問題はないですが、

つけない場合「Permission denied」と大量に表示されてしまい邪魔です。

 

上の結果は、postgresql11の環境で実行結果です。

 

以上、誰かの参考になれば幸いです。

pg_hba.confの探し方

Ubuntu ServerでのPostgreSQL設定ファイル「pg_hba.conf」の探し方を紹介します。

 

pg_hba.confを探すコマンド

pg_hba.confを探すには次のコマンドを実行します。

$ find / -name pg_hba.conf 2> /dev/null
/etc/postgresql/11/main/pg_hba.conf

※「 2> /dev/null」の箇所はなくても問題はないですが、

つけない場合「Permission denied」と大量に表示されてしまい邪魔です。

 

上の結果は、postgresql11の環境で実行結果です。

 

以上、誰かの参考になれば幸いです。

稼働中のサービスを確認する

稼働中のサービスを確認するには次のコマンドを実行します。

$ service --status-all

 

実行結果はこんな感じ。

先頭の [ + ]は実行中、[ - ]:停止中、[ ? ]:は判断不可を表しています。

 

 

サービス名で絞る

サービス名で絞るなら次のように実行します。

次の例は「postgres」が含まれるサービス名を取得しています。

$ service --status-all | grep postgres

 

結果例は次のようになります。