Mevcut veritabanının adını PostgreSQL'in içinden nasıl edinebilirim?


81

\c <database_name>PostgreSQL kullanarak adlandırılmış veritabanına bağlanacaktır.

Mevcut veritabanının adı nasıl belirlenebilir?

girme:

my_db> current_database();

üretir:

ERROR:  syntax error at or near "current_database"
LINE 1: current_database();

7
current_database () seç
Mihai

1
Önce bir SELECT ekleyin.
Mihai

4
my_dbİstemin size mevcut veritabanını zaten söylediğini biliyor musunuz ?
a_horse_with_no_name

Yanıtlar:


130

İşlev current_database(), geçerli veritabanının adını döndürür:

 SELECT current_database();

Bu bir SQL işlevidir, bu nedenle bir SQL deyiminin bir parçası olarak çağırmalısınız. PostgreSQL, çalışan sorguları bağımsız sorgular olarak desteklememektedir ve CALLdiğer bazı SQL motorları gibi bir ifadesi yoktur , bu nedenle sadece SELECTbir işlevi çağırmak için kullanırsınız .


33

psql içinde "\ conninfo" kullanabilirsiniz


Gönderen psqlsürümü 9.1. Bu temelde psqlbugünlerde tüm müşterileri kapsamalı .
dezso

26
\c

gibi bir şey yazdırır

You are now connected to database "foobar" as user "squanderer".

Yeni bir bağlantı oluşturmayı sakıncası yoksa bunu kullanın, çünkü olan budur. Tüm parametreler olmadan \ connect (\ c olarak kısaltılır), geçerli olanınızla aynı olan yeni bir bağlantı oluşturur. Geçerli bağlantı kapalı.

Http://www.postgresql.org/docs/9.3/static/app-psql.html adresindeki \ connect komutunun özelliklerine bakın :

Dbname, kullanıcı adı, ana bilgisayar veya bağlantı noktasından herhangi biri atlanırsa (...), önceki bağlantının bu parametresinin değeri kullanılır.


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.