postgresql用sql脚本创建数据库并创建表,创建的表在postgres中?

本文分享了在PostgreSQL中使用SQL脚本创建数据库和表时遇到的问题及解决方法。在非交互式客户端如IDEA中,未正确切换到新创建的数据库导致表被创建在postgres默认数据库下。解决方案是确保在切换数据库时提供新用户的密码。
摘要由CSDN通过智能技术生成

昨天用pg初始化数据库的时候遇到一些坑,这里给大家分享下。

先来看下我最终成功的执行过程。
sql脚本:

-- 
-- 创建用户test_user并设置password为test_password
create user test_user with password 'test_password';

-- 创建database test_db设置owner为test_user
create database test_db with owner test_user;

-- 切换到新创建的test_db数据库
\c test_db test_user;

-- 在新创建的数据库中创建表
create table my_table
(
  id                 serial                                         not null
    constraint my_table_pkey
      primary key,
  name           varchar(40)   default ''::character varying    not null
);

在postgresql中执行上面的脚本,执行如下:

root@0ffd52b8bcf4:/# psql -U postgres -W -f db.sql
Password:
CREATE ROLE
CREATE DATABASE
Password for user test_user:
You are now connected to database "test_db" as user "test_user".
CREATE TABLE
root@0ffd52b8bcf4:/#

第一次让输入的为postgres的密码(如果没有设置可以直接回车),第二次让输入的为test_user的密码ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值