GNU/Linux >> Linux の 問題 >  >> Cent OS

PostgreSQLでデータベースを作成する方法

はじめに

PostgreSQLは、リレーショナルをサポートするオープンソースの高度なデータベース管理システムです。 (SQL)および非リレーショナル (JSON)クエリ。

PostgreSQLでは、 ACID を維持しながら、主に拡張性とSQLコンプライアンスに重点が置かれています。 トランザクションのプロパティ(Atomicity、Consistency、Isolation、Durability)。

このチュートリアルでは、3つの異なる方法を使用してPostgreSQLでデータベースを作成する方法を学習します。

前提条件

  • PostgreSQLのインストールとセットアップ
  • 管理者権限

pgAdminを介してPostgreSQLでデータベースを作成する

pgAdminを使用してデータベースを作成するには、次の手順に従います。

ステップ1 :pgAdminを開き、パスワードを入力してデータベースサーバーに接続します。

ステップ2 :ブラウザセクションで、サーバーを展開します 次にPostgreSQL アイテム。 データベースを右クリックします アイテム。 作成をクリックします およびデータベース…

ステップ3 :データベース名を指定する必要がある場所に新しいウィンドウがポップアップし、必要に応じてコメントを追加して、[保存]をクリックします。 。

データベースはデータベースに表示されます オブジェクトツリー。

pgAdminウィンドウの右側のセクションには、データベース統計、データベースの作成に使用されるSQLコマンド、依存関係などを表示するタブが含まれています。

CREATEDATABASEを介してPostgreSQLでデータベースを作成する

PostrgreSQLデータベースを作成する別の方法は、 CREATE DATABASEを使用することです。 コマンド。

次の手順に従ってデータベースを作成します。

ステップ1 SQLシェル(psql)を開きます アプリ。

ステップ2 ENTERを押してDBサーバーに接続します 四回。求められたら、マスターパスワードを入力します。パスワードを設定していない場合は、 ENTERを押します。 もう一度接続します。

ステップ3 :次の構文を使用して、新しいデータベースを作成します。

CREATE DATABASE [database_name]

[database_name]の代わりに 、データベースの名前を入力します。既存のデータベース名を使用するとエラーが発生するため、必ず一意の名前を入力してください。

例:

パラメータを指定せずにデータベースを作成すると、デフォルトのテンプレートデータベースからパラメータが取得されます。次のセクションで使用可能なパラメータを参照してください。

ステップ4 :次のコマンドを使用して、PostgreSQLのすべてのデータベースを一覧表示します。

\l

出力には、使用可能なデータベースとその特性のリストが表示されます。

CREATEDATABASEパラメーター

データベースを作成するために使用できるパラメーターは次のとおりです。

  • [OWNER =role_name]

所有者 パラメータは、データベース所有者の役割を割り当てます。 OWNERを省略します パラメータは、データベース所有者が CREATE DATABASEを実行するために使用されるロールであることを意味します ステートメント。

  • [TEMPLATE=テンプレート]

TEMPLATE パラメータを使用すると、新しいデータベースの作成元となるテンプレートデータベースを指定できます。 TEMPLATEを省略します パラメータセットtemplate1 デフォルトのテンプレートデータベースとして。

  • [ENCODING =encoding]

エンコード パラメータは、新しいデータベースの文字セットエンコーディングを決定します。

  • [LC_COLLATE =collat​​e]

LC_COLLATE パラメータは、新しいデータベースの照合順序を指定します。このパラメータは、 ORDER BYの文字列の並べ替え順序を制御します 句。 特殊文字を含むロケールを使用すると、効果が表示されます 。

LC_COLLATEを省略します パラメータは、テンプレートデータベースから設定を取得します。

  • [LC_CTYPE =ctype]

LC_CTYPE パラメータは、新しいデータベースで使用される文字分類を指定します。文字の分類には、小文字、大文字、数字が含まれます。 LC_CTYPEを省略します パラメータは、テンプレートデータベースからデフォルト設定を取得します。

  • [TABLESPACE =tablespace_name]

TABLESPACEを使用します 新しいデータベースのテーブルスペース名を指定するパラメーター。 TABLESPACEを省略します パラメータは、テンプレートデータベースのテーブルスペース名を取ります。

  • [ALLOW_CONNECTIONS=true | false]

ALLOW_CONNECTIONS パラメータはTRUEにすることができます またはFALSE 。値をFALSEとして指定する データベースに接続できなくなります。

  • [CONNECTION LIMIT =max_concurrent_connections]

接続制限 パラメータを使用すると、PostgreSQLデータベースへの最大同時接続数を設定できます。デフォルト値は-1 、これは無制限の接続を意味します。

  • [IS_TEMPLATE=true | false]

IS_TEMPLATEを設定します TRUEへのパラメータ またはFALSE IS_TEMPLATEの設定 TRUE CREATEDB<​​/code>を持つすべてのユーザーを許可します データベースのクローンを作成する特権。それ以外の場合は、スーパーユーザーまたはデータベース所有者のみがデータベースのクローンを作成できます。

パラメータを使用してデータベースを作成するには、キーワード WITHを追加します CREATE DATABASEの後 ステートメントを作成し、必要なパラメーターをリストします。

例:

この例は、UTF-8文字エンコードを使用し、最大200の同時接続をサポートするように新しいデータベースを設定する方法を示しています。

createdbコマンドを使用してPostgreSQLでデータベースを作成する

createdb コマンドは、PostgreSQLでデータベースを作成するための3番目の方法です。 createdbの唯一の違い およびCREATE DATABASE コマンドは、ユーザーが createdbを実行することです 直接コマンドラインから 一度にデータベースにコメントを追加します。

createdbを使用してデータベースを作成するには コマンドを実行するには、次の構文を使用します。

createdb [argument] [database_name [comment]]

パラメータについては、次のセクションで説明します。

createdbパラメータ

createdb 構文パラメータは次のとおりです。

パラメータ 説明
[argument] createdbのコマンドライン引数 受け入れます。次のセクションで説明します。
[database_name] database_nameの代わりにデータベース名を設定します パラメータ。
[コメント] 新しいデータベースに関連付けるオプションのコメント。

createdbコマンドライン引数

利用可能なcreatedb 引数は次のとおりです:

引数 説明
-D 新しいデータベースのテーブルスペース名を指定します。
-e createdbのコマンドを表示します サーバーに送信します。
-E データベースで使用する文字エンコードを指定します。
-l <​​/ code> データベースで使用するロケールを指定します。
-T 新しいデータベースのテンプレートとして使用するデータベースを指定します。
-ヘルプ createdbに関するヘルプページを表示する コマンドライン引数。
-h サーバーを実行しているマシンのホスト名を表示します。
-p サーバーが接続をリッスンするために使用するTCPポートまたはローカルUnixドメインソケットファイル拡張子を設定します。
-U 接続に使用するユーザー名を指定します。
-w createdbに指示します パスワードプロンプトを発行しないでください。
-W createdbに指示します データベースに接続する前にパスワードプロンプトを発行します。

例:

ここでは、 mydatabaseというデータベースを作成しました デフォルトの管理ユーザーpostgresを使用する 。 フェニックスナップを使用しました データベースをテンプレートとして使用し、パスワードを要求しないようにプログラムに指示しました。

createdbコマンドの一般的なエラー

createdbを使用するときにユーザーが遭遇する可能性のある一般的なエラーがいくつかあります コマンド。

createdbを参照してください 以下のエラーリスト:

エラー 説明
createdb コマンドが見つかりません。 PostgreSQLが正しくインストールされていない場合に発生します。 createdbを実行します PostgreSQLのインストールパスから、または psql.exeを追加します PCの詳細設定のシステム変数セクションへのパス。
そのようなファイルやディレクトリはありません
サーバーはローカルで実行され、受け入れていますか
Unixドメインソケットでの接続...?
PostgreSQLサーバーが適切に起動されていないか、現在実行されていない場合に発生します。
致命的:役割"username"は存在しません。 ユーザーがinitdbを実行すると発生します スーパーユーザー権限のないロールを使用します。
エラーを修正するには、 -superuserを使用して新しいPostgresユーザーを作成します オプションを選択するか、デフォルトの管理者ロールである postgresにログインします 。
データベースの作成に失敗しました:エラー:データベースを作成する権限が拒否されました。 必要な権限を持たないアカウントでデータベースを作成しようとすると表示されます。エラーを修正するには、問題のロールにスーパーユーザー権限を付与します。

Cent OS
  1. PhpMyAdminでテーブルを作成する方法

  2. CentOS 7 /RHEL7にPostgreSQLをインストールする方法

  3. cPanelでMySQLデータベースを作成する方法

  1. WorkbenchでMySQLデータベースを作成する方法

  2. MySQLWorkbenchを使用してMySQLでデータベースを作成する方法

  3. cPanelでデータベースを作成する方法

  1. MongoDBでデータベースとコレクションを作成する方法

  2. Ubuntu20.04にPostgreSQLをインストールする方法

  3. Debian10にPostgreSQLをインストールする方法