The error happens because in this shapefile the "shape_leng" attribute is defined in the .dbf file as REAL(19.11) but the value 275736334.13200003000 is too big to fit into such numeric.
shp2pgsql obviously takes the field definition from the .dbf file and creates the field into PostGIS as
"shape_leng" NUMERIC(19,11)" and insertion of data will fail. GDAL is doing the same by default but the GDAL PostGIS driver http://www.gdal.org/drv_pg.html has a layer creation option PRECISION that is YES by default but can be turned to NO. With
-lco PRECISION=NO the field will be created as
"shape_leng" FLOAT8" and insert will success.
ogr2ogr -f Postgresql PG:"host=localhost port=5432 dbname=db user=user password=password" -nln coastline -nlt promote_to_multi Europe_coastline.shp -lco precision=no
If you definitely want to use shp2pgsql you must make the data valid first. One option is to open the shapefile with OpenJUMP and save a copy. That will change the field definition into REAL(33.16)
EDIT How to confirm that the error comes from PostgreSQL and is caused by too large numeric value to fit the columnn.
CREATE TABLE foo (test NUMERIC(19,11));
insert into foo values(275727286.55400002003);
ERROR: numeric field overflow
DETAIL: A field with precision 19, scale 11 must round to an absolute value less than 10^8.