Q:

How to add constraint to sql table so that table has exactly one row

Parameter table is initially created and one row is added in Postgres.
This table should have always one row, otherwise SQL queries using this table will produce incorrect results. DELETE or INSERT to this table are disallowed, only UPDATE is allowed.
How to add single row constraint to this table?
Maybe DELETE and INSERT triggers can raise an exception or is there simpler way?

A:

The following will create a table where you can only insert one single row. Any update of the id column will result in an error, as will any insert with a different value than 42. The actual id value doesn't matter actually (unless there is some special meaning that you need).
create table singleton
(
   id integer not null primary key default 42,
   parameter_1 text,
   parameter_2 text,
   constraint only_one_row check (id = 42)
);

insert into singleton values (default);

To prevent deletes you can use a rule:
create or replace rule ignore_delete
  AS on delete to singleton
     do instead nothing;

You could also use a rule to make insert do nothing as well if you want to make an insert "fail" silently. Without the rule, an insert would generate an error. If you want a delete to generate an error as well, you would need to create a trigger that simply raises an exception.

Edit
If you want an error to be thrown for inserts or deletes, you need a trigger for that:
create table singleton
(
   id integer not null primary key,
   parameter_1  text,
   parameter_2  text
);

insert into singleton (id) values (42);

create or replace function raise_error()
  returns trigger
as
$body$
begin
  RAISE EXCEPTION 'No changes allowed';
end;
$body$
language plpgsql;

create trigger singleton_trg 
  before insert or delete on singleton
  for each statement execute procedure raise_error();

Note that you have to insert the single row before you create the trigger, otherwise you can't insert that row. 
This will only partially work for a superuser or the owner of the table. Both have the privilege to drop or disable the trigger. But that is the nature of a superuser - he can do anything.

