新しいプロジェクトができたので、現在PostgreSQLとMySQLの違いを学んでいます。また、既存のソフトウェアをMySQLからPostgreSQLに移行するつもりです。私は実際に、2つのコマンド(ユーザー/データベース/コマンドプロンプトなど)を比較したHTMLテーブルの作成を開始しました。 回答を読む の後、ここでrole
がグループとして使用されているようです。 MySQLには、基本的にパブリック(DELETE
、INSERT
、SELECT
およびUPDATE
権限)と、いくつかの追加権限を持つ管理ユーザーの2人のユーザーがいます。
したがって、基本的にはWindows 7のコマンドプロンプト(ローカル開発のみ)で...
GRANT
またはREVOKE
を使用している場合、ロールはユーザーとどのように比較されますか?roleは、ユーザーまたはグループ、あるいはその両方として機能できるエンティティです。ロールWITH LOGIN
をユーザーとして使用できます。つまり、ロールを使用してログインできます。ログインできるロールも含め、どのロールもグループとして機能できます。したがって、「ユーザー」と「グループ」は基本的に、ロールの意図された用法を示す用語であり、それらの間に実際の違いはありません。 SQLのPostgreSQLフレーバーでも、この2つは同義語として多かれ少なかれ使用されます。たとえば、 CREATE USER
に関するドキュメントには次のように記載されています。
CREATE USERはCREATE ROLEのエイリアスになりました。
すべての権限を付与... GRANT
のマニュアルを参照 。実際には、データベースのall tablesではなくALL TABLES IN SCHEMA public
に権限を付与する必要があります。
いくつかの権利を付与する...同じことですが、GRANT ALL
の代わりに、たとえばGRANT SELECT, INSERT
を使用します。再度、マニュアルを参照してください。
役割isユーザーまたはグループ、あるいはその両方。付与できるのは役割のみです。役割はすべて存在するためです。