Postgresql yükleyin. İnitdb neden kullanılamıyor?


15

Takip ettiğim bu talimatları , ancak sadece adım 17.2 alabilirsiniz.

Postgresql'i başarıyla yüklemesine rağmen

sudo apt-get install postgresql

komut, çalıştırma üzerine

initdb -D /usr/local/pgsql/data

Ubuntu bana 'initdb'nin kurulu olmadığını söylüyor. Talimatlar bana bu komutun yüklendiğini söylüyor

sudo apt-get install postgresql

yani, ne oluyor? Postgres-xc'yi yükleyerek initdb'yi kullanılabilir hale getirebilirim, ancak postgres-xc'nin bazı garip üçüncü taraf çöpleri olduğunu düşünüyorum ve talimatlarda ayrıntılı değil. Herhangi bir fikir?

Yanıtlar:


14

initdb, yükleme sırasında oluşturulan postgres kullanıcı hesabı altında çalıştırılmak üzere tasarlanmıştır. Postgresql'i yükledikten sonra şunları yapabilirsiniz:

sudo su - postgres

O zaman koşabilmelisin initdb.


4
Please note that you can of course also use the upstream tools for creating clusters, such as initdb(1). However, please note that in this case you cannot expect *any* of above pg_* tools to work, since they use different configuration settings and file locations. If in doubt, then do *not* use initdb, but only pg_createcluster. Since merely installing postgresql-X.Y will already set up a default cluster which is ready to work, most people do not need to bother about initdb or pg_createcluster at all.
/Usr/share/doc/postgresql-common/README.Debian.gz

3
Postgres kullanıcısına geçtikten sonra bile hala bu hatayı alıyorum
Cogwheel,

Postgres 9.6 kullanan Ubuntu Server 14'te bu benim için çalışmıyor.
sudo

Çünkü, çalışmıyor initdbise /usr/lib/postgresql/X.X/bin/.
Li Dong

27

initdbAltında bulacaksınız /usr/lib/postgresql/x.y/bin/. /usr/share/doc/postgresql-common/README.Debian.gzDebian ve Ubuntu kurulumu hakkında daha fazla bilgi için ayrıca bkz .


Bu gerçekten kabul edilen cevap olmalı. initdbtemel komuttur ancak Debian ve Ubuntu kullanıcıları pg_createcluster ve onunla ilişkili komutlar paketini kullanıyor olmalıdır. Ayrıca , standart kurulum sizin için bir sunucu ve varsayılan / şablon veritabanlarıyla zaten bir varsayılan küme oluşturduğundan, normalde sonra initdbVEYA yapmanız gerekmez . Yukarıda bahsedilen README Peter okumak için zaman ayırmaya değer. pg_createclusterapt-get install postgresql
cdaddr

2
@cdaddr Hayır, genellikle postgres yükledikten sonra buna ihtiyacınız yoktur. Yine de, kendinizi bir kümeyi hızlı bir şekilde yeniden oluşturmaya ihtiyaç duyarsanız ve postgres'i yeniden yüklemekle uğraşmak istemiyorsanız veya standart olmayan bir yerde yeni bir veritabanı başlatmanız gerekiyorsa, bu kullanışlı olabilir. Evet, bu harika bir cevap.
Erathiel

1
İşler. Ve en iyisi çünkü bu şekilde hangi sürümü kullandığımdan emin olabilirim.
sudo


2

initdbkullanıcı tarafından yürütülebilir olarak yüklenmedi. Her /usr/lib/postgresql/X.X/bin/zaman sürüme bağlı olduğu için sadece yüklüdür . initdbyalnızca belirli bir dizinden yürütülebilir.

Diğer yanıtlarda belirtildiği gibi, postgres kurulumu sınırlı bir bölümde olabilecek varsayılan bir dizin oluşturur. Kullanıcılar bunu değiştirmek isteyebilir, ancak başka adımlar da gerektirir. buraya bakın .


-2

Root 1.passwd aşağıdaki adımları foll sonra şifrenizi sonra 2.su postgres 3.psql 4. kullanıcı adı "CREATE USER SAM; 5. veritabanı sam oluşturmak; şimdi çıkış yapın 6. tür psql


Bu cevap soruyu doğrudan ele almıyor.
cdaddr
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.