質問: ### 前提・実現したいこと pgAdmin4を利用し、**GUIで**Sequenceの設定を行いたい。 (最小値、最大値、特に現在値) ### 発生している問題・エラーメッセージ Create文で生成したテーブルの主キー列を自動採番の列としています。 しかし、シーケンス「ba_area_id_seq」が画面左メニューの「Sequences」部分(赤色で図示)に表示されません。 これは正常な動作でしょうか? ![pgAdminの画面](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/141c456d981c208a25ade935619bbe27.jpeg) ※都合により一部黒色で消させてもらっています。 ### 詳しい経緯 サーバー操作 1. Linuxサーバー上でPostgreSQLサービスを起動し、**サーバー上で**`psql`を利用して`CREATE DATABASE`や`CREATE TABLE`を実行しました。(言わずもがなですがCUIでの実施で、SQL文は上の図を参照ください。) 2. この際に作成したTABLEの主キー列が自動採番の列となっています。(このタイミングでシーケンスが作られていると認識しています) クライアント操作 1. クライアントからpgAdmin4でサーバーのPostgreSQLに接続します。 2. **画面左メニューに、シーケンス「ba_area_id_seq」が表示されず困っています。(今回の質問です。)** 3. この状況でGUI上で下記操作を行ってシーケンスを作成した場合、**そのシーケンスのみ**が画面左メニューに表示されます。 画面左メニューの「Sequences」部分を右クリックし、「Create」→「Sequence」→「Save」で新たなシーケンスをGUIから作成した場合は、作成したシーケンスがメニューに追加されます。 また、追加されたシーケンスを右クリックすることで、「Properties」にてGUIで最小値、最大値、現在値の設定が可能です。 ### 追加情報 #### ユーザーについて SQLの実行やPostgreSQLへの接続はすべてデフォルトの「postgres」ユーザーで行っており、すべての権限を持っていると認識しています。 #### シーケンスの認識について 画面左のメニューから「Sequences」部分を右クリックし、「Grant Wizard...」をクリックすると、SQLにてCREATE TABLEを実行した際のシーケンスもズラっと表示されます。(そのため、シーケンスの存在を認識はしているようです。) また、GUI上から「test」という名前でシーケンスを作成した際の表示もわかるような画像を用意しました。 2のシーケンスが1のところに表示されず困っております。 ![pgAdminの画面](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/01a6d32259d6b5bb002b4c221c7988bb.jpeg) よろしくお願いいたします。 ### 補足情報(FW/ツールのバージョンなど) * PostgreSQL 10.7 * pgAdmin 4.4
回答: シーケンスは、`create table`で`selial`や`bigserial`を指定した時のみ自動で作成されますが、 質問のcreate文のように、項目にシーケンスを割り当てるのであれば、事前にシーケンスを作成しておく必要があります。