PostgreSQL ব্যবহারকারীর অ্যাকাউন্টগুলির তালিকা করতে আদেশ?


88

আছে createuser& dropuserকমান্ড:

createuser - define a new PostgreSQL user account
dropuser - remove a PostgreSQL user account

ব্যবহারকারীর অ্যাকাউন্টগুলি তালিকাভুক্ত করার জন্য কি কোনও অনুরূপ উপায় আছে?

এই দুটি কমান্ড ব্যবহারকারীর কাছে psqlএটি ব্যবহারের বিশদ জানতে বা বোঝার প্রয়োজন নেই।

উত্তর:


121

psqlশেল ব্যবহার করুন এবং:

\deu[+] [PATTERN] যেমন:

postgres=# \deu+
      List of user mappings
 Server | User name | FDW Options 
--------+-----------+-------------
(0 rows)

এবং সমস্ত ব্যবহারকারীর জন্য:

postgres=# \du 
                              List of roles
 Role name  |                   Attributes                   | Member of 
------------+------------------------------------------------+-----------
 chpert.net |                                                | {}
 postgres   | Superuser, Create role, Create DB, Replication | {}

মাইএসকিউএলের মতো আপনিও এটি করতে পারেন:

$ psql -c "\du"
                             List of roles
 Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
 chpert    |                                                | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}
 test      |                                                | {}

22
টার্মিনাল থেকে:psql -c '\du'
ফ্র্যাঙ্ক হেনার্ড

5

আউটপুটটি কেবলমাত্র ব্যবহারকারীর নামে সীমাবদ্ধ করতে psqlশেল থেকে বা স্থানীয় শেল / টার্মিনাল থেকে কেবল নিম্নলিখিতটি করুন

psql -c "SELECT u.usename AS "User Name" FROM pg_catalog.pg_user u;"

পূর্বের উত্তরে নির্দেশিত হিসাবে দ্রুত পদ্ধতিটি 3 টি কলাম প্রদর্শন করে; সহ ব্যবহারকারী নাম , ভূমিকা তালিকা আরোপ করা , এবং সদস্য ভূমিকা গ্রুপ (গুলি)।

psql -c "\du"

পরিশেষে, পরবর্তী উত্তরে নির্দেশিত হিসাবে, কমান্ডের পটভূমিতে পোস্টগ্রিগ এসকিউএল কমান্ডগুলি \duকল করে এই "ডিফল্ট" কলামগুলি দেখায়:

SELECT u.usename AS "User name",
  u.usesysid AS "User ID",
  CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('superuser, create
database' AS pg_catalog.text)
       WHEN u.usesuper THEN CAST('superuser' AS pg_catalog.text)
       WHEN u.usecreatedb THEN CAST('create database' AS
pg_catalog.text)
       ELSE CAST('' AS pg_catalog.text)
  END AS "Attributes"
FROM pg_catalog.pg_user u
ORDER BY 1;

(যখন আপনি \ du টাইপ করেন তখন পর্দার পিছনে পিএসকিএল কী করে)

শেষ অংশটি পোস্টগ্র্যাস এসকিউএল মেলিং তালিকা থেকে অনুলিপি করা হয়েছিল ।


2

এসকিউএল সলিউশন যা সাধারণত পিএসকিএল-ডু দ্বারা করা হয়:

SELECT u.usename AS "User name",
  u.usesysid AS "User ID",
  CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('superuser, create
database' AS pg_catalog.text)
       WHEN u.usesuper THEN CAST('superuser' AS pg_catalog.text)
       WHEN u.usecreatedb THEN CAST('create database' AS
pg_catalog.text)
       ELSE CAST('' AS pg_catalog.text)
  END AS "Attributes"
FROM pg_catalog.pg_user u
ORDER BY 1;

রেফ: https://www.postgresql.org/message-id/1121195544.8208.242.camel@state.g2switchworks.com


2

একটি সহজ উত্তরের জন্য ...

পিএসকিএল এর মধ্যে থেকে:

\du

টার্মিনাল থেকে:

psql -c '\du'

এটা আমার মনে রাখা যে সাহায্য করে প্রায়ই ব্যবহার করা হয় এস্ক্রাইবের কিছু এবং তোমার দর্শন লগ করা জন্য তোমার দর্শন লগ করা Sers।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.