উত্তর:
পাসওয়ার্ড কম লগইন জন্য:
sudo -u user_name psql db_name
আপনি ভুলে গেলে পাসওয়ার্ডটি পুনরায় সেট করতে:
ALTER USER user_name WITH PASSWORD 'new_password';
rm ~/.psql_history
ALTER USER myuser RENAME TO newname;
... কোনও কারণে গুগল আমাকে এখানে ইঙ্গিত করছিল যখন আমি সেই গুগল করছিলাম :)
তারপরে টাইপ করুন:
$ sudo -u postgres psql
তারপর:
\password postgres
তারপরে ছাড়তে psql
:
\q
যদি এটি কাজ না করে তবে প্রমাণীকরণ পুনরায় কনফিগার করুন।
সম্পাদনা /etc/postgresql/9.1/main/pg_hba.conf
(পথ পৃথক হবে) এবং পরিবর্তন:
local all all peer
প্রতি:
local all all md5
তারপরে সার্ভারটি পুনরায় চালু করুন:
$ sudo service postgresql restart
\p
করি তবে এটি আমাকে পাসওয়ার্ড দেয়; যদি আমি \password postgres
এটিতে টাইপ করি তবে পাসওয়ার্ড দেয় এবং সতর্কতা হয়\p extra argument "assword" ignored; \p extra argument "postgres" ignored
sudo passwd postgres
আপনার ব্যবহারকারীর পাসওয়ার্ড এনক্রিপ্ট করা এবং থাকা উচিত:
ALTER USER username WITH ENCRYPTED PASSWORD 'password';
The password is always stored encrypted in the system catalogs. The ENCRYPTED keyword has no effect, but is accepted for backwards compatibility.
আমি বিশ্বাস করি পাসওয়ার্ড পরিবর্তন করার সর্বোত্তম উপায়টি হ'ল সহজভাবে ব্যবহার করা:
\password
পোস্টগ্রিস কনসোলে
সূত্র:
এই আদেশের সাহায্যে একটি এনক্রিপ্ট করা পাসওয়ার্ড উল্লেখ করার সময় অবশ্যই সাবধানতা অবলম্বন করা উচিত। পাসওয়ার্ডটি ক্লিয়ারটেক্সটে সার্ভারে প্রেরণ করা হবে এবং এটি ক্লায়েন্টের কমান্ডের ইতিহাসে বা সার্ভার লগে লগইন হতে পারে। পিএসকিএলে একটি কমান্ড \ পাসওয়ার্ড রয়েছে যা ক্লিয়ারটেক্সট পাসওয়ার্ডটি প্রকাশ না করেই কোনও ভূমিকার পাসওয়ার্ড পরিবর্তন করতে ব্যবহার করা যেতে পারে।
https://www.postgresql.org/docs/9.0/static/sql-alterrole.html থেকে ।
\password username
লিনাক্স কমান্ড লাইন ব্যবহার করে পাসওয়ার্ড পরিবর্তন করতে:
sudo -u <user_name> psql -c "ALTER USER <user_name> PASSWORD '<new_password>';"
পাসওয়ার্ড পরিবর্তন করতে
sudo -u postgres psql
তারপর
\password postgres
এখন নতুন পাসওয়ার্ড দিন এবং নিশ্চিত করুন
তারপর \q
প্রস্থান করতে
আপনার পোস্টগ্র্যাস্কিল কনফিগারেশন এ যান এবং pg_hba.conf সম্পাদনা করুন
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
তারপরে এই লাইনটি পরিবর্তন করুন:
Database administrative login by Unix domain socket
local all postgres md5
প্রতি :
Database administrative login by Unix domain socket
local all postgres peer
তারপরে সুডু কমান্ডের মাধ্যমে পোস্টগ্রেএসকিউএল পরিষেবাটি পুনরায় চালু করুন
psql -U postgres
আপনি এখন প্রবেশ করাবেন এবং পোস্টগ্র্যাস্কিল টার্মিনালটি দেখতে পাবেন
তারপরে প্রবেশ করুন
\password
এবং পোস্টগ্রিস ডিফল্ট ব্যবহারকারীর জন্য নতুন পাসওয়ার্ড লিখুন, সফলভাবে পাসওয়ার্ড পরিবর্তন করার পরে আবার pg_hba.conf এ যান এবং পরিবর্তনটি "এমডি 5" তে ফিরে যান
এখন আপনি হিসাবে লগ ইন করা হবে
পিএসএইচএল-ইউ পোস্টগ্রাস
আপনার নতুন পাসওয়ার্ড সহ
আপনারা সকলেই এতে কোনও সমস্যা খুঁজে পান কিনা তা আমাকে জানান।
user@user-NC10:~$ psql -U postgres psql: FATAL: Peer authentication failed for user "postgres"
$version,' /usr/bin/psql: psql: line 26:
আমার ($ সংস্করণ, $ গুচ্ছ, $ ডিবি, $ পোর্টের কাছে সিনট্যাক্স ত্রুটি , $ হোস্ট); ' আপনার সাহায্যের জন্য ধন্যবাদ!
আমার সার্ভারে থাকা কনফিগারেশনটি অনেকটা কাস্টমাইজ করা হয়েছিল এবং আমি ফাইলটিতে বিশ্বাসের প্রমাণীকরণ সেট করার পরেই আমি পাসওয়ার্ড পরিবর্তন করতে সক্ষম হয়েছি :pg_hba.conf
local all all trust
এটি পাসওয়ার্ড বা এমডি 5 এ ফিরে যেতে ভুলবেন না
sudo systemctl restart postgresql.service
গুগলে এটি প্রথম ফলাফল ছিল, যখন আমি কীভাবে কোনও ব্যবহারকারীর নাম পরিবর্তন করতে চাইছি, তাই:
ALTER USER <username> WITH PASSWORD '<new_password>'; -- change password
ALTER USER <old_username> RENAME TO <new_username>; -- rename user
ব্যবহারকারী পরিচালনার জন্য আরও কয়েকটি কমান্ড সহায়ক:
CREATE USER <username> PASSWORD '<password>' IN GROUP <group>;
DROP USER <username>;
ব্যবহারকারীকে অন্য একটি গ্রুপে সরান
ALTER GROUP <old_group> DROP USER <username>;
ALTER GROUP <new_group> ADD USER <username>;
আমার মামলার জন্য উবুন্টুতে 14.04 পোস্টগ্রিজ 10.3 সহ ইনস্টল করা হয়েছে। আমাকে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে
su - postgres
ব্যবহারকারীকে স্যুইচ করতে postgres
psql
postgres শেল প্রবেশ করতে\password
তারপরে আপনার পাসওয়ার্ড লিখুন\q
শেল সেশন ছাড়ার জন্যতারপরে আপনি নিচের লাইনটি আছে কিনা তা নিশ্চিত করে কার্যকর করে exit
আপনার pg_hba.conf
(খনিতে রয়েছে /etc/postgresql/10/main/pg_hba.conf
) কনফিগার করে আবার রুটে ফিরে যান
local all postgres md5
service postgresql restart
postgres
ব্যবহারকারীতে স্যুইচ করুন এবং আবার পোস্টগ্রিস শেল প্রবেশ করুন। এটি আপনাকে পাসওয়ার্ড সহ প্রম্পট করবে।এটা ব্যবহার কর:
\password
সেই ব্যবহারকারীর জন্য আপনি যে নতুন পাসওয়ার্ড চান তা প্রবেশ করুন এবং তারপরে এটি নিশ্চিত করুন। যদি আপনি পাসওয়ার্ডটি মনে না রাখেন এবং আপনি এটি পরিবর্তন করতে চান তবে আপনি পোস্টগ্র্যাগ হিসাবে লগ ইন করতে পারেন এবং তারপরে এটি ব্যবহার করতে পারেন:
ALTER USER 'the username' WITH PASSWORD 'the new password';
সিনট্যাক্সের অন্যান্য উত্তরের মতো তবে এটি জানা উচিত যে আপনি পাসওয়ার্ডের একটি এমডি 5ও পাস করতে পারেন যাতে আপনি একটি সরল পাঠ্য পাসওয়ার্ড প্রেরণ করছেন না।
সরল পাঠ্যে ব্যবহারকারীদের পাসওয়ার্ড পরিবর্তন করার অনিচ্ছাকৃত পরিণতির কয়েকটি পরিস্থিতি এখানে।
log_statement = ddl
বা তার থেকেও বেশি লগ করতে সেট করা থাকে তবে আপনার সরল পাঠ্য পাসওয়ার্ডটি আপনার ত্রুটিযুক্ত লগগুলিতে প্রদর্শিত হবে।
এর সাথে এখানে বলা হয়েছে যে আমরা কীভাবে পাসওয়ার্ডের এমডি 5 তৈরি করে কোনও ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে পারি।
উদা: "এমডি 5" + এমডি 5 (পাসওয়ার্ড + ব্যবহারকারীর নাম)
ব্যাশে:
~$ echo -n "passwordStringUserName" | md5sum | awk '{print "md5"$1}'
md5d6a35858d61d85e4a82ab1fb044aba9d
[PSCredential] $Credential = Get-Credential
$StringBuilder = New-Object System.Text.StringBuilder
$null = $StringBuilder.Append('md5');
[System.Security.Cryptography.HashAlgorithm]::Create('md5').ComputeHash([System.Text.Encoding]::ASCII.GetBytes(((ConvertFrom-SecureStringToPlainText -SecureString $Credential.Password) + $Credential.UserName))) | ForEach-Object {
$null = $StringBuilder.Append($_.ToString("x2"))
}
$StringBuilder.ToString();
## OUTPUT
md5d6a35858d61d85e4a82ab1fb044aba9d
ALTER USER
কমান্ড দেখতে হবে ALTER USER UserName WITH PASSWORD 'md5d6a35858d61d85e4a82ab1fb044aba9d';
পাসওয়ার্ডটি সিস্টেম ক্যাটালগগুলিতে সর্বদা এনক্রিপ্ট করা থাকে। এনক্রিপটেড কীওয়ার্ডটির কোনও প্রভাব নেই, তবে পিছনের সামঞ্জস্যের জন্য গৃহীত হয়। এনক্রিপশনের পদ্ধতিটি কনফিগারেশন প্যারামিটার পাসওয়ার্ড_ইনক্রিপশন দ্বারা নির্ধারিত হয়। যদি উপস্থাপিত পাসওয়ার্ডের স্ট্রিং এমডি 5-এনক্রিপ্ট করা বা এসসিআরএএম-এনক্রিপ্ট করা ফর্ম্যাটে থাকে তবে এটি পাসওয়ার্ড_ইনক্রিপশন নির্বিশেষে সঞ্চিত হয় (যেহেতু সিস্টেম নির্দিষ্ট এনক্রিপ্ট করা পাসওয়ার্ড স্ট্রিংটি আলাদা আলাদা আকারে এনক্রিপ্ট করতে ডিক্রিপ্ট করতে পারে না)। এটি ডাম্প / পুনরুদ্ধারকালে এনক্রিপ্ট হওয়া পাসওয়ার্ডগুলি পুনরায় লোড করার অনুমতি দেয়।
সাধারণভাবে, ডিবি সম্পর্কিত ক্রিয়াকলাপ করার জন্য কেবল পিজি অ্যাডমিন ইউআই ব্যবহার করুন।
পরিবর্তে আপনি যদি আপনার স্থানীয় বিকাশের জন্য স্বয়ংক্রিয় ডাটাবেস সেটআপ, বা সিআই ইত্যাদিতে আরও বেশি মনোনিবেশ করেন ...
উদাহরণস্বরূপ, আপনি এটির মতো একটি সাধারণ কম্বো ব্যবহার করতে পারেন।
(ক) জেনকিন্সের মাধ্যমে এর অনুরূপ একটি আদেশ সহ একটি ডামি সুপার ব্যবহারকারী তৈরি করুন:
docker exec -t postgres11-instance1 createuser --username=postgres --superuser experiment001
এটি আপনার পোস্টগ্রেস ডিবিতে এক্সপেরিমেন্ট 001 নামে একটি দুর্দান্ত ব্যবহারকারী তৈরি করবে।
(খ) নন-ইন্টারেক্টিভ এসকিউএল কমান্ডটি চালিয়ে এই ব্যবহারকারীকে কিছু পাসওয়ার্ড দিন।
docker exec -t postgres11-instance1 psql -U experiment001 -d postgres -c "ALTER USER experiment001 WITH PASSWORD 'experiment001' "
কমান্ড লাইন (অ-ইন্টারেক্টিভ) সরঞ্জামদানের জন্য পোস্টগ্রিস সম্ভবত সেরা ডাটাবেস। ব্যবহারকারী তৈরি করা, এসকিউএল চালানো, ডাটাবেস ইত্যাদির ব্যাকআপ তৈরি করা ... সাধারণভাবে এটি পোস্টগ্রিসের সাথে একেবারে মৌলিক এবং এটি আপনার বিকাশ সেটআপ স্ক্রিপ্টগুলিতে বা স্বয়ংক্রিয় সিআই কনফিগারেশনে একীভূত করা মোটামুটি তুচ্ছ।
এবং ব্যাশ এবং প্রত্যাশার সাথে সম্পূর্ণ স্বয়ংক্রিয় উপায় ( এই উদাহরণে আমরা ওএস এবং পোস্টগ্রিস রান-টাইম স্তরে নতুন সঞ্চিত পোস্টগ্রাগস পিডব্লিউ সহ একটি নতুন পোস্টগ্র্যাস অ্যাডমিন সরবরাহ করি)
# the $postgres_usr_pw and the other bash vars MUST be defined
# for reference the manual way of doing things automated with expect bellow
#echo "copy-paste: $postgres_usr_pw"
#sudo -u postgres psql -c "\password"
# the OS password could / should be different
sudo -u root echo "postgres:$postgres_usr_pw" | sudo chpasswd
expect <<- EOF_EXPECT
set timeout -1
spawn sudo -u postgres psql -c "\\\password"
expect "Enter new password: "
send -- "$postgres_usr_pw\r"
expect "Enter it again: "
send -- "$postgres_usr_pw\r"
expect eof
EOF_EXPECT
cd /tmp/
# at this point the postgres uses the new password
sudo -u postgres PGPASSWORD=$postgres_usr_pw psql \
--port $postgres_db_port --host $postgres_db_host -c "
DO \$\$DECLARE r record;
BEGIN
IF NOT EXISTS (
SELECT
FROM pg_catalog.pg_roles
WHERE rolname = '"$postgres_db_useradmin"') THEN
CREATE ROLE "$postgres_db_useradmin" WITH SUPERUSER CREATEROLE
CREATEDB REPLICATION BYPASSRLS
PASSWORD '"$postgres_db_useradmin_pw"' LOGIN ;
END IF;
END\$\$;
ALTER ROLE "$postgres_db_useradmin" WITH SUPERUSER CREATEROLE
CREATEDB REPLICATION BYPASSRLS
PASSWORD '"$postgres_db_useradmin_pw"' LOGIN ;
"
TLDR:
অনেক সিস্টেমে ব্যবহারকারীর অ্যাকাউন্টে প্রায়শই একটি পিরিয়ড বা কিছু প্রকার পাঞ্চ থাকে (ব্যবহারকারী: john.smith, horise.johnson)। এই ক্ষেত্রে উপরের স্বীকৃত উত্তরে একটি পরিবর্তন করতে হবে। পরিবর্তনের জন্য ব্যবহারকারীর নামটি ডাবল-কোটেড করা দরকার।
Example:
ALTER USER "username.lastname" WITH PASSWORD 'password';
যুক্তিসঙ্গত:
'ডাবল কোট' কখন ব্যবহার করতে হবে এবং কখন 'একক উদ্ধৃতি' ব্যবহার করতে হবে তা পোস্টগ্র্রেসগুলি বেশ পছন্দসই। সাধারণত স্ট্রিং সরবরাহ করার সময় আপনি একটি একক উদ্ধৃতি ব্যবহার করবেন।