Trước khi giải thích cách thực hiện việc này, tôi thực sự đề nghị KHÔNG làm điều đó.
Trong PostgreSQL, nếu tên bảng hoặc cột không được trích dẫn, như:
SELECT Name FROM MyTable WHERE ID = 10
Chúng thực sự tự động gấp thành chữ thường đầu tiên, vì vậy truy vấn ở trên giống với:
SELECT name FROM mytable WHERE id = 10
Nếu bạn đã chuyển đổi tất cả các tên thành chữ hoa, câu lệnh này sẽ KHÔNG hoạt động :
SELECT NAME FROM MYTABLE WHERE ID = 10
Bạn sẽ phải trích dẫn kép mỗi tên trong truy vấn này để làm cho nó hoạt động:
SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10
Mặt khác, nếu bạn sử dụng thỏa thuận chỉ viết thường của PostgreSQL tiêu chuẩn, bạn có thể sử dụng bất kỳ tổ hợp trường hợp nào và nó sẽ hoạt động miễn là bạn không trích dẫn bất kỳ tên nào.
Bây giờ, nếu bạn vẫn khăng khăng muốn chuyển đổi sang chữ hoa, bạn có thể làm điều đó bằng cách kết xuất lược đồ cơ sở dữ liệu của bạn vào một tệp bằng cách sử dụng pg_dump --schema-only
.
Sau khi bạn hoàn thành việc đó, hãy kiểm tra tất cả CREATE TABLE
câu lệnh và xây dựng ALTER TABLE
thích hợp
các câu lệnh dựa trên kết xuất này - bạn sẽ phải viết một số tập lệnh (Perl hoặc Python) để làm điều đó.
Ngoài ra, bạn có thể đọc INFORMATION_SCHEMA.TABLES
và / hoặc INFORMATION_SCHEMA.COLUMNS
cũng như xây dựng và thực thi ALTER TABLE
thích hợp tuyên bố.