Postgresql এ একজন ডিবি-র ব্যবহারকারী কীভাবে তৈরি করবেন? [বন্ধ]


199

আমি আমার সেন্টোস সার্ভারে পোস্টগ্রিজ এসকিউএল 8.4 ইনস্টল করেছি এবং শেল থেকে মূল ব্যবহারকারীদের সাথে সংযুক্ত এবং পোস্টগ্রিসকিউএল শেল অ্যাক্সেস করেছি।

আমি পোস্টগ্রাইএসকিউএলে ডেটাবেস এবং ব্যবহারকারী তৈরি করেছি।

আমার পিএইচপি স্ক্রিপ্ট থেকে সংযোগ দেওয়ার চেষ্টা করার সময় এটি আমাকে প্রমাণীকরণ ব্যর্থ করে।

আমি কীভাবে একটি নতুন ব্যবহারকারী তৈরি করব এবং কীভাবে একটি বিশেষ ডিবির জন্য তাদের অনুমতি দেব?


ত্রুটি বার্তা ঠিক কি? আপনি psqlকমান্ডলাইন থেকে লগ ইন করতে পারেন ?
a_horse_with_no_name

24
কীভাবে বিশ্বে এটি অফ-টপিক হিসাবে বন্ধ হয়ে গেল?
বেন ক্র্যাসি

@ বেনক্র্যাসি সম্ভবত কারণ এটি সার্ভারফল্ট.কম বা সুপারউজারের পক্ষে আরও উপযুক্ত?
নক করুন

2
@knocte সুতরাং আমি মনে করি আপনি বলছেন যে এটি 6 এর নিচে পড়েছে যার ব্যতিক্রম রয়েছে "যদি না তারা সরাসরি প্রোগ্রামিং বা প্রোগ্রামিং সরঞ্জামগুলিতে জড়িত থাকে", এবং আমি মনে করি পোস্টগ্রাগেস একটি প্রোগ্রামিং সরঞ্জাম হিসাবে গণনা না করে? আকর্ষণীয় গ্রহণ
বেন ক্র্যাসি

উত্তর:


339

সিএলআই থেকে:

$ su - postgres 
$ psql template1
template1=# CREATE USER tester WITH PASSWORD 'test_password';
template1=# GRANT ALL PRIVILEGES ON DATABASE "test_database" to tester;
template1=# \q

পিএইচপি (লোকালহোস্টে পরীক্ষিত হিসাবে এটি প্রত্যাশার মতো কাজ করে):

  $connString = 'port=5432 dbname=test_database user=tester password=test_password';
  $connHandler = pg_connect($connString);
  echo 'Connected to '.pg_dbname($connHandler);

14
উবুন্টুর জন্য এটি হওয়া উচিতsudo su - postgres
হেনজি 27'13

57
উবুন্টুর জন্য এটি সত্যই হওয়া উচিত: sudo -u postgres psql
মারিও

2
আমি মনে করি কমান্ডগুলি ইস্যু করার সবচেয়ে বহনযোগ্য উপায় psql -U postgres -c "CREATE ROLE..."
হুগো মোটা

31
কেবল মনে রাখবেন যে শেলটিতে আপনার টাইপ করা এবং চালানো সমস্ত জিনিস সাধারণত আপনার নির্বাচিত পাসওয়ার্ড সহ শেল ইতিহাসে শেষ হয়।
amn

7
কমান্ডের মধ্যে 'এবং "মধ্যে পার্থক্য লক্ষ্য করুন !
andilabs

42

একটি পাসওয়ার্ড দিয়ে ব্যবহারকারী তৈরি করুন:

http://www.postgresql.org/docs/current/static/sql-createuser.html

CREATE USER name [ [ WITH ] option [ ... ] ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

তারপরে একটি নির্দিষ্ট ডাটাবেসে ব্যবহারকারীকে অধিকার প্রদান করুন:

http://www.postgresql.org/docs/current/static/sql-grant.html

উদাহরণ:

grant all privileges on database db_name to someuser;

1
আমি ইতিমধ্যে এটি করেছি: পাসওয়ার্ড 'রবি' দিয়ে ব্যবহারকারী রাভি তৈরি করুন; রবিতে ডেটাবেস মনোনয়নে সমস্ত সুযোগ প্রদান; তবে আমি নিম্নলিখিত পিএইচপি কোডের সাথে সংযোগ স্থাপন করতে পারি না: <? পিএইচপি $ সংস্ট্রিং = 'হোস্ট = লোকালহোস্ট পোর্ট = 5432 ডিবিনেম = নামম্যাটিম ব্যবহারকারী = রাভি পাসওয়ার্ড = রাভি'; $ connHandler = pg_connect ($ কানস্ট্রিং); প্রতিধ্বনি 'কানেক্টেড' .pg_dbname ($ কানহ্যান্ডলার); ?>

@ দার্জি ক্রুনাল: পিএইচপি ত্রুটি কী, এটি কেমন দেখাচ্ছে?
বিদুল

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