Kết nối liên quan:postgres dblink thoát khỏi dấu nháy đơn
Đây là lỗi của tôi:
ERROR: type "e" does not exist
Đây là câu hỏi của tôi:
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
E'SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN \'inactive\' ELSE \'active\'
END AS field_status
FROM the_table
')
AS linkresults(field_1 varchar(20),field_2 varchar(8))
Nếu tôi bạn se dấu ngoặc kép, loại bỏ các lối thoát xuyệc ngược cho dấu nháy đơn và loại bỏ các E trước khi câu lệnh SELECT
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
"SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN 'inactive' ELSE 'active'
END AS field_status
FROM the_table
")
AS linkresults(field_1 varchar(20),field_2 varchar(8))
tôi có được điều này:
NOTICE: identifier "SELECT ..." will be truncated
Và tôi cũng nhận được LỖI như truy vấn của tôi đã được cắt ngắn.
Tôi đã thoát bằng dblink như thế này trước đây, vậy có cài đặt máy chủ hay thứ gì đó tôi cần định cấu hình không?
Tôi biết truy vấn hoạt động tốt nếu tôi chạy nó trên máy chủ sql chính nó, nhưng không phải với dblink. Có suy nghĩ gì không?
Postgres phiên bản 8.4
@n iktrs bài đăng của bạn đã hoạt động, tại sao lại xóa nó? –
Tôi đã cập nhật nó lên một cái gì đó đơn giản hơn. Nếu nó không hoạt động, tôi có thể báo cáo câu trả lời trước đó. – niktrs