Kullanıcı değiştirmeden Mac'te PostgreSQL'e erişin


0

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 postgreskullanı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 postgreskullanı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
  1. 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?
  2. Her seferinde kullanıcıları değiştirmek zorunda kalmamamın başka yolu var mı?
  3. 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, postgreskullanıcının tüm izinlerini kullanıcının izinlerine ekleyebilir miyim my_name?

Yanıtlar:


0

Postgresql veritabanınızda oluşturulmuş bir kullanıcı olması ve pg_hba.conf dosyanızdaki localhost'tan izin almanız gerekir - çeşitli seçeneklerde dosyada birçok örnek var.

Sonra yapabilirsin:

psql -H localhost -U kullanıcılarım

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.