相关疑难解决方法(0)

在大表中填充新列的最佳方法?

我们在 Postgres 中有一个 2.2 GB 的表,其中有 7,801,611 行。我们正在向它添加一个 uuid/guid 列,我想知道填充该列的最佳方法是什么(因为我们想NOT NULL向它添加约束)。

如果我正确理解 Postgres,更新在技术上是删除和插入,所以这基本上是重建整个 2.2 gb 表。我们还有一个奴隶在运行,所以我们不希望它落后。

有没有比编写一个随着时间慢慢填充它的脚本更好的方法?

postgresql storage ddl

45
推荐指数
2
解决办法
4万
查看次数

是什么导致大 INSERT 变慢和磁盘使用量激增?

我有一个大约 310 万行的表,其定义和索引如下:

CREATE TABLE digiroad_liikenne_elementti (
    ogc_fid serial NOT NULL,
    wkb_geometry geometry(Geometry,4258),
    tiee_tila numeric(9,0),
    vaylatyypp numeric(9,0),
    toiminnall numeric(9,0),
    eurooppati character varying(254),
    kansalline numeric(9,0),
    tyyppi numeric(9,0),
    liikennevi numeric(9,0),
    ens_talo_o numeric(9,0),
    talonumero numeric(9,0),
    ens_talo_v numeric(9,0),
    oik_puol_t character varying(254),
    tieosan_ta numeric(9,0),
    viim_talo_ numeric(9,0),
    viim_tal_1 numeric(9,0),
    vas_puol_t character varying(254),
    laut_tyypp numeric(9,0),
    lautta_lii numeric(9,0),
    inv_paalu_ numeric(19,11),
    inv_paal_1 numeric(19,11),
    liitalue_o numeric(9,0),
    ketju_oid numeric(9,0),
    tietojoukk numeric(9,0),
    ajoratanum numeric(4,0),
    viite_guid character varying(254),
    "timestamp" date,
    tiee_kunta numeric(9,0),
    toissij_ti character varying(254),
    viite_oid numeric(9,0),
    k_elem_id numeric(9,0),
    region character varying(40) DEFAULT …
Run Code Online (Sandbox Code Playgroud)

postgresql performance insert postgresql-9.3 write-ahead-logging postgresql-performance

6
推荐指数
2
解决办法
4203
查看次数