Postgresql中如何给表添加新列

 时间:2024-10-14 13:48:07

1、Postgresql自带工具psql连接数据库 psql -Upostgres -h 127.0.0.1 pg_test_db(我们这里使用自带用户postgres, 数据库安装在本机127.0.0.1)

Postgresql中如何给表添加新列

2、创建schema:pg_test_db=# create schema schema_a巳呀屋饔,创建表pg_test_db=# create table schema_a.table_a(id int, name varchar);

Postgresql中如何给表添加新列

3、现在我们要添加descr列。由于我们的脚本必须能够允许多次运行,所以再添加列的时候必须判断表中是否descr已经存在。Postgresql中information_schema.columns包含所有表的列信息。

Postgresql中如何给表添加新列Postgresql中如何给表添加新列

4、脚本内容:DO language plpgsql $$幞洼踉残BEGIN RAISE INFO '*************** t髫潋啜缅est_add_column.sql begins'' ***************'; if not exists (select 1 from information_schema.columns where table_schema = 'schema_a' and table_name = 'table_a' and column_name = 'descr') then alter table schema_a.table_a add column descr varchar; end if; RAISE INFO '*************** test_add_column.sql completes'' ***************'; EXCEPTION WHEN OTHERS THEN RAISE NOTICE '*************** Patch ''test_add_column.sql'' fails : ErrCode (%) (%)', SQLSTATE, SQLERRM; RAISE;END;$$;保存为/home/kian.gao/Desktop/test_add_column.sql

5、在psql中使用\i /home/kian.gao/Desktop/test_add_column.sql 命令执行该sql文件即可, 多次运行也不会报错,如果没有事先判断多次运行就会报错,因为该列已经存在。

Postgresql中如何给表添加新列

6、希望能对Postgresql初学者有所帮助!

  • Xshell如何同时向多个会话、连接发出指令
  • 如何使用gitlab查看项目列表
  • K662c如何查找设备并设定静态地址
  • Linux中如何下载安装老版本的谷歌浏览器
  • Xshell怎么开启双击选项卡复制ssh通道功能
  • 热门搜索
    腰斩是什么意思 什么都可以 二层牛皮是什么意思 怎样腌制糖醋蒜 对虾养殖 避孕套有什么用 一个月来两次月经是什么原因 养殖技术 维生素b族的作用 光怪陆离是什么意思