我的問題可能非常特定於Postgres,可能不是。Postgres通過兩個不同的程序訪問單個列
我無法修改的程序可以通過npgsql和簡單的select命令訪問Postgress,我所知道的。
我也可以通過npgsql進行訪問。該表定義爲:
-- Table: public.n_data
-- DROP TABLE public.n_data;
CREATE TABLE public.n_data
(
u_id integer,
p_id integer NOT NULL,
data text,
CONSTRAINT nc PRIMARY KEY (p_id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE public.n_data
OWNER TO postgres;
(如果這個信息是有用無論如何) 我訪問一個單一的大柱,用它讀取和寫入回去吧。
這一切都工作正常。
問題是:如果我們同時寫入,Postgres如何處理它。 有問題嗎?
如果Postgres沒有自動處理,那麼當我讀取數據,處理數據並同時進行數據更改時,如何處理它,然後在處理數據後將其寫回數據 - >丟失數據。
對數據完整性進行測試有點棘手,因爲這個數據塊非常龐大,並且很難找到損壞。
我用c#來做,如果這意味着什麼。
閱讀[行鎖定](http://www.postgresql.org/docs/9。1/static/explicit-locking.html) – AlexM
閱讀關於理性數據庫鎖定機制。據我所知Postgresql使用MVCC https://en.wikipedia.org/wiki/Multiversion_concurrency_control – java