web-dev-qa-db-ja.com

PostgreSQLを使用してDBeaverで自動インクリメント/シリアルID列を作成する方法

私はPostgreSQLとDBeaver(コミュニティエディションバージョン5.1.6)の両方の新規ユーザーであり、テーブルに自動インクリメントID列を作成する方法を探していましたDBeaver GUIを使用して

私の研究から私はそれを見ることができます:

  1. これは、SQLを使用して簡単に設定できます。 id SERIAL NOT_NULL

  2. 根本的な問題は、「シリアルデータタイプ」などはなく、SERIALはnextval( 'table_name_id_seq')と同等であるということです。

  3. SQLのSERIALコマンドを使用してテーブルを作成すると、結果のid列の 'Default'属性にnextval( 'exampletable_id_seq' :: regclass ')値が含まれます。

たとえば、新しいテーブルでDBeaverの列の「デフォルト」属性内にnextval()コマンドを手動で入力しようとしました。 nextval( 'mytable_id_seq')と ':: regclass;の有無。ただし、これは機能していません。

SQLでこれを行う方が簡単であり、以前に尋ねられた質問があることを感謝します DBeaver&PostgreSQLのシリアルデータ型の問題

ただし、満足のいく答えが見つからなかったため、特にDBeaver GUIを介して他のセットアップを実行している場合は、GUIを介してこれを実行できるオプションが役立つでしょう。

具体的には、私の質問は:

  1. GUIを介して自動インクリメントIDを追加するDBeaverの機能はありますか?

  2. もしそうなら、これを行うためのステップは何でしょうか。

みんなありがとう!

6
J Won

上記の質問に対する非常に役立つコメントを確認したところ、DBeaverの経験が不足しているために質問が出されたことがわかりました。

完全を期すために、私の質問に対する回答を以下に示します。

  1. はい、DBeaver GUIから直接自動インクリメントする方法があります。

  2. これは、タイプがserialの列を設定し、「null以外」をチェックしてテーブルを作成するときに、id変数を設定することで実行できます。制約を通じてidを主キーとして設定します。

下に添付されているスクリーンショット:

enter image description here

PostgreSQLの動作により、 'Serial'タイプは一連の数字を使用できる疑似タイプです( http://www.postgresqltutorial.com/postgresql-serial/ )。

したがって、DBeaverでは、テーブルを設定すると、「シリアル」タイプではなく、次のように表示されます。

enter image description here

これはPostgreSQLやDBeaverに精通しているすべての人にとって非常に明白な回答であることを感謝します。ご理解いただきありがとうございます:)

1
J Won