Nhìn vào đầu ra của select * from pg_stat_activity;
, tôi thấy một cột có tên là application_name
, được mô tả here.Đặt application_name trên Postgres/SQLAlchemy
Tôi thấy psql đặt giá trị này một cách chính xác (thành psql
...), nhưng mã ứng dụng của tôi (psycopg2/SQLAlchemy) để trống.
Tôi muốn đặt thứ này thành một thứ gì đó hữu ích, như web.1
, web.2
, v.v ... vì vậy sau này tôi có thể tương ứng với những gì tôi thấy trong pg_stat_activity
với những gì tôi thấy trong nhật ký ứng dụng của mình.
Tôi không thể tìm cách thiết lập trường này bằng cách sử dụng SQLAlchemy (và nếu đẩy đến xô - ngay cả với sql thô; tôi đang sử dụng PostgresSQL 9.1.7 trên Heroku, nếu vấn đề đó).
Tôi có thiếu thứ gì đó hiển nhiên không?
Hãy xem, tôi biết tôi đã bỏ lỡ điều gì đó hiển nhiên :) Cảm ơn bạn đã (và cho SA!) –
Hmmm, đợi đã. Tôi không chắc chắn tại sao, nhưng điều này hoạt động tốt trên cơ sở dữ liệu phát triển của tôi (9.1.4/OSX) nhưng không phải trên cơ sở dữ liệu được chia sẻ của Heroku (9.1.8/Linux) (nhận 'tùy chọn kết nối không hợp lệ 'application_name" ').Phiên bản SA giống nhau, cùng một phiên bản psycopg2, có lẽ là libpq khác nhau, vv Nhưng 'psql application_name = foo_bar' hoạt động tốt, cả cục bộ và chống lại Heroku. Có lời khuyên nào không? –
đó sẽ là psycopg2 làm điều đó. thử kết nối psycopg2 trực tiếp và kiểm tra kỹ phiên bản, cũng như phiên bản libpq được xây dựng dựa trên nó. – zzzeek