Let's try to solve your problem with me :-),
So you have a layer (table) with the name "cities", which are represented as points with the name "points" with the type of geometry (Point, 2154) and a column with the name "pop" with the type of integer in which we store population data. If this is the case, let's move on, namely run the script:
create table ...
You are almost there with your query.
The issue is that polygon is a native Postgres data type that is not used by PostGIS. Instead, you will want to use the geometry type, which can be refined to contain only polygons geometry(polygon) or even for a specific projection (geometry(polygon,3857))