2012-03-02 37 views
21

Chỉ mới bắt đầu học PostgreSQL 9.1 trên Linux thông qua C và libpq.
Hiện tại tôi kiểm tra kết nối, kết nối, tạo cơ sở dữ liệu, tạo bảng và các công cụ cơ bản khác. Nhưng tôi lưu ý rằng trong bảng tạo PQ chuyển đổi tên cơ sở dữ liệu của tôi thành chữ thường. Sau đó, tôi thấy rằng tên bảng và tên trường cũng buộc phải viết thường. Khi nào tôi cố kết nối với tên cơ sở dữ liệu chữ hoa (gốc), tôi nhận được cảnh báo rằng cơ sở dữ liệu được yêu cầu không tồn tại.PostgreSQL buộc tên chữ thường?

Điều tốt nhất là tất cả các tên sẽ được giữ nguyên như văn bản. Điều này có thể thực hiện được với một số phương pháp/cài đặt đơn giản không?

Ví dụ:

M_122_KL0001_2011_001_0100001

sẽ được tạo ra như m_122_kl0001_2011_001_0100001 những gì không muốn cho tôi.
Tương tự xảy ra với tên bảng và tên trường.

Trả lời

27

Đây là hành vi mặc định của Postgres.

Nếu bạn muốn xác chữ hoặc hỗn hợp cụ thể, bạn có thể trích dẫn nhận dạng ví dụ .:

createdb "M_122_KL0001_2011_001_0100001" 
+1

Có! Cảm ơn bạn rất nhiều. Ở đây sẽ có rất nhiều 'chuỗi thoát" :) –

+0

Nó sẽ thông minh hơn để giữ 'chữ thường' quy tắc? –

+3

Theo tôi, vâng, nó làm cho cuộc sống dễ dàng hơn để giữ cho mọi thứ thành chữ thường. Nhưng nếu bạn có một số lý do để sử dụng thượng hay ... hỗn hợp cụ thể thì ít nhất bây giờ bạn biết làm thế nào nó được hỗ trợ – bernie

Các vấn đề liên quan