PG共通コマンド集 - 継続更新

--- すべてのヘルプを表示

postgres=# \?  

--- SQL ヘルプを表示する

postgres=# \h

---スイッチデータベース

postgres=# \c データベース名

---ユーザーの切り替え

postgres=# \c - ユーザー名

---データベースとユーザーを同時に切り替える

postgres=#\c データベース名 ユーザー名

--- 接続情報の表示

postgres=# \conninfo

---出力情報の内側と外側に境界線を表示します

postgres=#\pset border 2

--- テーブル情報の表示

postgres=# \d

---インデックス情報の表示

postgres=#\di

--- ビュー情報の表示

postgres=# \dv

--- シーケンス情報の表示

postgres=# \ds

---データベース情報の表示

postgres=# \l

--- 履歴コマンドの表示

postgres=# \s

--- テーブルスペース情報の表示

postgres=# \db

---スキーマ情報の表示

postgres=# \dn

--- 機能情報の表示

postgres=# \df

--- 権限情報の表示

postgres=# \dp

また

postgres=# \z

--- ユーザーまたはロールを表示する

postgres=# \あなた

また

postgres=# \dg

--- インストールされている拡張機能を表示する

postgres=# \dx

--- 外部テーブルの表示

postgres=# \it

---ユーザー マッピングの表示

postgres=# \与えた

---パーティションの表示

postgres=# \dP

---パーティションインデックスの表示

postgres=# \dPi

---現在のデータベースの現在のユーザーのすべてのトリガーを表示します。

postgres=# pg_trigger から * を選択;

--- オブジェクトのサイズを計算する

postgres=# select pg_size_pretty(pg_relation_size('xx'));

---クエリ表示が縦表示に切り替わります 

postgres=# \x

---プロセスポートの表示

netstat -anltp|grep postgres

---postgres プロセスの表示

ps -ef|grep ^postgres    

---postgres プロセスの ptree 形式を表示する

ps -ajxf|grep postgres

--- 現在のライブラリの自動コミット ステータスを確認します。デフォルトはオンです。自動コミットを開きます。

postgres=# \echo :AUTOCOMMIT 

現在のライブラリの自動コミットをオフにする

postgres=#\オートコミットをオフに設定  

現在のライブラリを開いて自動的にコミットします

postgres=# \set AUTOCOMMIT をオンにします    

---テーブルのテーブルスペース番号とデータファイル番号を表示します。

postgres==# select reltablespace,relfilenode from pg_class where relname='jobs'; 相対テーブルスペース | relfilenode ----------+--------------- 0 | 16408 (1行)

0 はデータベースのデフォルトのテーブルスペースを意味し、16408 はテーブルのデータファイル番号を意味します

---設定ファイルの場所を検索

postgres=# config_file を表示;

--- 設定ファイルをリロードします

postgres=# pg_reload_conf() を選択します。

--- パラメータ変更後にサービスを再起動するかどうかを決定します 

postgres=# pg_settings から name,setting,pending_restart を選択します where name='autovacuum';

名前 | 設定 | 保留中_再起動

------------+--------+------

自動バキューム | に | f

(1行)

f は再起動が必要ないことを意味します。

--- 統計 SQL 実行時間:

\タイミング オン -- オープン

\タイミングオフ -- オフ

または直接実行する

\タイミングのオンまたはオフ

--- SQL ステートメントを繰り返し実行します。

test1=> select count(*) from company;\watch 2 --- SQL を繰り返し実行します。2 秒に 1 回実行します。Ctrl+C を使用して停止できます。

--- コマンドによって実際に実行された SQL ステートメントは、実行中の psql に表示されます。

\set ECHO_HIDDEN on --- ディスプレイをオンにします

\set ECHO_HIDDEN off --- ディスプレイをオフにします

---現在のトランザクションが開始されたときのタイムスタンプを表示します (3 つのメソッドの結果は同じです)。

  1. mydb=# 今すぐ選択();
  2. mydb=# current_timestamp を選択;
  3. mydb=# selecttransaction_timestamp();

トランザクションタイムスタンプ

-----------------------------

2022-08-02 17:20:39.969107+08

-----インストールされている拡張機能の表示---

postgres=# \dx

インストールされている拡張機能のリスト

名前 | バージョン | スキーマ | 説明

----------+--------+---------------+---------- -------------------------------------------------- ---

pg_visibility | 1.2 | パブリック | 可視性マップ (VM) とページレベルの可視性情報を調べる

plpgsql | 1.0 | pg_カタログ | PL/pgSQL手続き型言語

postgres_fdw | 1.1 | パブリック | リモート PostgreSQL サーバーの外部データ ラッパー

(3行)

---- 関数によって提供される特定の関数モジュールを表示します

postgres=# \dx+ postgres_fdw;

拡張子「postgres_fdw」内のオブジェクト

オブジェクトの説明

--------------------------------------

外部データラッパー postgres_fdw

関数 postgres_fdw_disconnect_all()

関数 postgres_fdw_disconnect(テキスト)

関数 postgres_fdw_get_connections()

関数 postgres_fdw_handler()

関数 postgres_fdw_validator(text[],oid)

(6行)

postgres=# \dx+ pg_visibility

拡張子「pg_visibility」内のオブジェクト

オブジェクトの説明

-----------------------------------------------

関数 pg_check_frozen(regclass)

関数 pg_check_visible(regclass)

関数 pg_truncate_visibility_map(regclass)

関数 pg_visibility_map(regclass)

関数 pg_visibility_map(regclass,bigint)

関数 pg_visibility_map_summary(regclass)

関数 pg_visibility(regclass)

関数 pg_visibility(regclass,bigint)

(8行)

----一般ユーザーに拡張パッケージの機能を使用する権限を付与します。

関数 pg_visibility_map の実行を XX に許可します。

---- アーカイブステータスの表示

pg_stat_archiver から * を選択;

----データベースとデフォルトのテーブルスペースを表示する

$oid2name

すべてのデータベース: Oid データベース名 テーブルスペース ---------------------------------- 17138 gjjdb pg_default 17174 jianyedb tbs1 17707 mydb pg_default 17139 nongkendb pg_default 13892 postgres pg_default 13891 template0 pg_default 1 template1 pg_default 17294 test1 pg_default

------- システム スキーマを含む、クラスター内のすべての名前空間 (スキーマ) を表示します。

postgres=# pg_catalog.pg_namespace から * を選択します ;

このうち、information_schema は、ユーザーがテーブル/ビュー/関数の情報を簡単に表示できるようにするために提供されており、そのほとんどはビューであり、MySQL と SQL Server にも information_schema スキーマがあります。

pg_catalog は、システム独自の関数/データ型定義などを含むシステム スキーマです。pg_catalog は、postgres の正常な動作を保証するための重要な基礎です。

--------クラスターのすべてのスキーマを表示する

postgres=# \dn

--- 指定されたテーブルスペースにオブジェクトを含むデータベースのコレクションを表示します。

test1=# pg_tablespace から * を選択; test1=# pg_tablespace_databases(1663) を選択します。test1=# pg_database から oid,datname を選択します。

-----新しい syslog を切り替えます

test1=# pg_rotate_logfile() を選択します。

------特定のデータベースのサイズを確認する

select pg_database_size('データベース名');

------ 複数のデータベース サイズを表示する

pg_database.datname、pg_size_pretty(pg_database_size(pg_database.datname)) AS サイズを pg_database から選択します。 

------- パブリックスキーマのテーブルインデックスサイズを順番に表示します。

select Indexrelname, pg_size_pretty(pg_relation_size(relid)) 
from pg_stat_user_indexes where schemaname='public' 
order by pg_relation_size(relid) desc;

------- パブリック スキーマ内のすべてのテーブルのサイズを表示する

select relname, pg_size_pretty(pg_relation_size(relid)) 
from pg_stat_user_tables 
where schemaname='public' 
order by pg_relation_size(relid) desc;

------パブリック スキーマで指定されたテーブルのサイズを確認します。

select relname, pg_size_pretty(pg_relation_size(relid)) 
from pg_stat_user_tables 
where schemaname='public' and relname='表名'
order by pg_relation_size(relid) desc;

---- 現在のログ ファイル名を表示します。

postgres=# pg_walfile_name(pg_current_wal_lsn()) を選択します。

pg_walfile_name

------------------------

00000001000000000000002B

(1行)

---- 現在のログ ファイル名とログ オフセットを表示します。

postgres=# SELECT * FROM pg_walfile_name_offset(pg_current_wal_lsn());

ファイル名 | ファイルオフセット

------------------------+---------------

00000001000000000000002B | 1672年

(1行)

-- パブリックのデフォルト権限を再利用する

1) REVOKE CREATE ON SCHEMA public FROM PUBLIC #最初のパブリックはスキーマを表し、2 番目のパブリックはすべてのユーザーを表します。つまり、パブリック スキーマの操作権限はすべてのユーザーから回復されます。

2) ALTER ROLE ALL SET search_path = "$user" #デフォルトの search_path 検索パスからパブリック スキーマを削除します

おすすめ

転載: blog.csdn.net/zhrzhl/article/details/125394481