Re: How do I enabled Windows 10 to be able to run PSQL etc - Mailing list pgsql-sql

From Karen Goh
Subject Re: How do I enabled Windows 10 to be able to run PSQL etc
Date
Msg-id 54081241.4161366.1568290654776@mail.yahoo.com
Whole thread Raw
In response to Re: How do I enabled Windows 10 to be able to run PSQL etc  (Steve Midgley <science@misuse.org>)
Responses Re: How do I enabled Windows 10 to be able to run PSQL etc
List pgsql-sql



Sent from Yahoo Mail for iPhone

On Thursday, September 12, 2019, 8:07 PM, Steve Midgley <science@misuse.org> wrote:

On Thu, Sep 12, 2019 at 11:50 AM Karen Goh <karenworld@yahoo.com> wrote:
Anyway, now my problem is that i get a

org.postgresql.util.PSQLException: ERROR: null value in column "parent_id" violates not-null constraint

I'd like to know since I have already made parent_id a primary key, do I need to put a idenity as ALWAYS and increment by 1 ?

cos another table I had used pgAdmin4 to define it as identity, ALWAYS, increment 1 and it works well....

so what is the difference between identity and PRIMARY KEY ?

and if I follow the other table definition for id and put in the ALWAYS, it will give me another problem...that the generated_id doesn't get inserted even though it should not

Hi Karen,

Please bottom post on this forum - it's uncommon these days, but the custom on this email list to post replies at the bottom of the email.

Regarding your question about nulls and primary keys -- yes you want to define, where it makes sense, to use autoincrementing primary keys, if you want the system to manage your keys. Note that autoincrementing IDs, if exposed to the public via the web or similar, could create some security issues.

Hi Steve,

Sorry yahoo mail is giving me lots of problems in typing at the bottom - the convention. 

I would like to confirm how to make an ID  in PostgreSQL auto increment like MySQL?

And since I need to have generated key to be retrieved before inserting into the join table, if I don’t do it via web how can I do it then? 

But in many cases it makes a lot of sense to use them. To create a primary key that autoincrements, use the "serial" or "bigserial" datatype. Combined with a primary key (that enforces "not null" among other things), your create table would look like this:
CREATE TABLE sample ( id              SERIAL PRIMARY KEY,
);

Why is my another table, without making the id serial it is auto-incrementing?

I have not tested it, but I'd guess you should be able to alter a table that has an integer primary key and convert it to a serial. I hope that's helpful! Steve

pgsql-sql by date:

Previous
From: Shaozhong SHI
Date:
Subject: Looking for technical references on how to set up PostGIS/PostgreSQLfor serving MapInfo Desktop application users
Next
From: Steve Midgley
Date:
Subject: Re: How do I enabled Windows 10 to be able to run PSQL etc