PostgreSQL 9.2.4 kurulu bir işletim sistemi olan OS X Lion (10.7.5) çalıştıran bir Mac'im var. Bir veritabanı kümesi başlattım ve bir postgres
kullanıcı olarak bir sunucu başlattım . PostgreSQL kurulumumla ilgili bazı dizinlere erişmeye çalıştığımda veya belirli ikili dosyaları çalıştırdığımda, önce postgres
kullanıcıya geçmem gerekiyor . Örneğin:
# Ideally I'd want this to work:
my_name$ psql
psql: FATAL: role "my_name" does not exist
# I'd settle for this working, but it doesn't
my_name$ sudo psql
psql: FATAL: role "root" does not exist
# I don't understand why this doesn't work but the next things does
my_name$ sudo su postgres psql
/opt/local/lib/postgresql92/bin/psql: /opt/local/lib/postgresql92/bin/psql: cannot execute binary file
# This works
my_name$ sudo su postgres
sh$ psql
psql (9.2.4)
Type "help" for help.
Başka bir örnek:
my_name$ cd /opt/local/var/db/postgresql92/defaultdb
-bash: cd: /opt/local/var/db/postgresql92/defaultdb/: Permission denied
my_name$ sudo su postgres cd /opt/local/var/db/postgresql92/defaultdb
my_name$ pwd
/Users/my_name
my_name$ sudo su postgres
sh$ cd /opt/local/var/db/postgresql92/defaultdb
sh$ pwd
/opt/local/var/db/postgresql92/defaultdb
- Neden çalışmıyor
sudo su postgres <cmd>
, kullanıcıyı değiştirme ve ardından komutu başlatma adımlarını ayırdığımda işe yarıyor mu? - Her seferinde kullanıcıları değiştirmek zorunda kalmamamın başka yolu var mı?
- Daha genel olarak, bir kullanıcıya zaten sahip olduklarına ek olarak başka bir kullanıcının tüm izinlerini vermenin bir yolu var mı? Örneğin,
postgres
kullanıcının tüm izinlerini kullanıcının izinlerine ekleyebilir miyimmy_name
?