Gọi lệnh psql mà không chọn bất kỳ cơ sở dữ liệu


11

Cú pháp của psqlmáy khách dòng lệnh là

psql [option...] [dbname [username]]

Tôi đang truyền lệnh ALTER DATABASE x RENAME to ycho lệnh này:

echo `ALTER DATABASE x RENAME to y` | psql

Hiện tại tôi đang nhận được lỗi

psql: FATAL:  database "myuser" does not exist

Có vẻ như psqllệnh cố gắng mở cơ sở dữ liệu có cùng tên với tên người dùng hiện tại.

Làm thế nào tôi có thể bắt đầu psqllệnh mà không chọn bất kỳ cơ sở dữ liệu?

Chỉnh sửa :

Một cách giải quyết tất nhiên chỉ là tạo một cơ sở dữ liệu trống cho người dùng.

Sử dụng cơ sở dữ liệu xlàm tham số không hoạt động, vì điều này chặn việc đổi tên.

Câu trả lời:



1

Trong Ubuntu:

sudo -u postgres psql
postgres=# ALTER DATABASE "old" RENAME TO "new";
ALTER DATABASE
postgres=# \q
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.